An evolutionary approach to translating operational specifications into declarative specifications

被引:1
|
作者
Molina, Facundo [1 ,2 ]
Cornejo, Cesar [1 ,2 ]
Degiovanni, Renzo [3 ]
Regis, German [1 ]
Castro, Pablo F. [1 ,2 ]
Aguirre, Nazareno [1 ,2 ]
Frias, Marcelo F. [2 ,4 ]
机构
[1] Univ Rio Cuarto, Dept Comp Sci, FCEFQyN, Rio Cuarto, Argentina
[2] Natl Council Sci & Tech Res CONICET, Buenos Aires, DF, Argentina
[3] Univ Luxembourg, SnT, Luxembourg, Luxembourg
[4] Buenos Aires Inst Technol, Dept Software Engn, Buenos Aires, DF, Argentina
关键词
Program specification; Program analysis; Relational logic; Evolutionary algorithms;
D O I
10.1016/j.scico.2019.05.006
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Various tools for program analysis, including run-time assertion checkers and static analyzers such as verification and test generation tools, require formal specifications of the programs being analyzed. Moreover, many of these tools and techniques require such specifications to be written in a particular style, or follow certain patterns, in order to obtain an acceptable performance from the corresponding analyses. Thus, having a formal specification sometimes is not enough for using a particular technique, since such specification may not be provided in the right formalism. In this paper, we deal with this problem in the increasingly common case of having an operational specification, while for analysis reasons requiring a declarative specification. We propose an evolutionary approach to translate an operational specification written in a sequential programming language, into a declarative specification, in relational logic. We perform experiments on a benchmark of data structure implementations, for which operational invariants are available, and show that our evolutionary computation based approach to translating specifications achieves very good precision in this context, and produces declarative specifications that are more amenable to analyses that demand specifications in this style. This is assessed in two contexts: bounded verification of data structure invariant preservation, and instance enumeration using symbolic execution aided by tight bounds. (C) 2019 Elsevier B.V. All rights reserved.
引用
收藏
页码:47 / 63
页数:17
相关论文
共 50 条
  • [21] Towards Verifying Declarative Specifications of Reactive Systems
    Kameda, Tae
    Arai, Osamu
    Gorlatch, Sergei
    Fujita, Hamido
    NEW TRENDS IN SOFTWARE METHODOLOGIES, TOOLS AND TECHNIQUES, 2008, 182 : 389 - 400
  • [22] Foundations of Reactive Synthesis for Declarative Process Specifications
    Geatti, Luca
    Montali, Marco
    Rivkin, Andrey
    THIRTY-EIGHTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, VOL 38 NO 16, 2024, : 17416 - 17425
  • [23] Unifying Execution of Imperative Generators and Declarative Specifications
    Nie, Pengyu
    Parovic, Marinela
    Zang, Zhiqiang
    Khurshid, Sarfraz
    Milicevic, Aleksandar
    Gligoric, Milos
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (OOPSLA):
  • [24] Exploiting functional dependencies in declarative problem specifications
    Mancini, Toni
    Cadoli, Marco
    ARTIFICIAL INTELLIGENCE, 2007, 171 (16-17) : 985 - 1010
  • [25] Declarative debugging of membership equational logic specifications
    Caballero, Rafael
    Marti-Oliet, Narciso
    Riesco, Adrian
    Verdejo, Alberto
    CONCURRENCY, GRAPHS AND MODELS: ESSAYS DEDICATED TO UGO MONTANARI ON THE OCCASION OF HIS 65TH BIRTHDAY, 2008, 5065 : 174 - 193
  • [26] TRANSLATING CUSTOMER NEEDS INTO DESIGN SPECIFICATIONS
    Mihartescu, A. A.
    Negrut, M. L.
    Mazilescu, A. C.
    MANAGEMENT OF TECHNOLOGICAL CHANGES, BOOK 1, 2011, : 565 - 568
  • [27] Translating Code Comments to Procedure Specifications
    Blasi, Arianna
    Goffi, Alberto
    Kuznetsov, Konstantin
    Gorla, Alessandra
    Ernst, Michael D.
    Pezze, Mauro
    Delgado Castellanos, Sergio
    ISSTA'18: PROCEEDINGS OF THE 27TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2018, : 242 - 253
  • [28] TRANSLATING VDM SPECIFICATIONS INTO ABC PROGRAMS
    KANS, A
    HAYTON, C
    INFORMATION AND SOFTWARE TECHNOLOGY, 1994, 36 (12) : 699 - 706
  • [29] Translating temporal logic to controller specifications
    Fainekos, Georgios E.
    LoiZou, Savvas G.
    Pappas, George J.
    PROCEEDINGS OF THE 45TH IEEE CONFERENCE ON DECISION AND CONTROL, VOLS 1-14, 2006, : 903 - +
  • [30] TRANSLATING CUSTOMER NEEDS INTO PRODUCT SPECIFICATIONS
    DELATORE, JP
    PRELL, EM
    VORA, MK
    QUALITY PROGRESS, 1989, 22 (01) : 50 - 53