Searching for just a few words should be enough to get started. If you need to make more complex queries, use the tips below to guide you.
Issue title: Special Issue on the 26th International Symposium on Logic-Based Program Synthesis and Transformation: LOPSTR 2016
Guest editors: Manuel Hermenegildo, Pedro López-García, Alberto Pettorossi and Maurizio Proietti
Article type: Research Article
Authors: Alpuente, Maríaa; * | Pardo, Danielb; *; † | Villanueva, Aliciac; *; ‡
Affiliations: [a] VRAIN, Universitat Politècnica de València, Camino de Vera s/n, Valencia, Spain. alpuente@upv.es | [b] DSIC, Universitat Politècnica de València, Valencia, Spain. daparpon@dsic.upv.es | [c] VRAIN, Universitat Politècnica de València, Camino de Vera s/n, Valencia, Spain. alvilga1@upv.es
Correspondence: [‡] Address for correspondence: VRAIN, Universitat Politècnica de València, Camino de Vera s/n, Valencia, Spain.
Note: [*] This work has been partially supported by the EC H2020-EU grant agreement No. 952215 (TAILOR), the EU (FEDER) and the Spanish MCIU under grant RTI2018-094403-B-C32, by Generalitat Valenciana under grant PROMETEO/2019/098.
Note: [†] Daniel Pardo was supported by FPU-ME grant FPU14/01830.
Abstract: In this article, we propose a symbolic technique that can be used for automatically inferring software contracts from programs that are written in a non-trivial fragment of C, called KERNELC, that supports pointer-based structures and heap manipulation. Starting from the semantic definition of KERNELC in the 𝕂 semantic framework, we enrich the symbolic execution facilities recently provided by 𝕂 with novel capabilities for contract synthesis that are based on abstract subsumption. Roughly speaking, we define an abstract symbolic technique that axiomatically explains the execution of any (modifier) C function by using other (observer) routines in the same program. We implemented our technique in the automated tool KINDSPEC 2.1, which generates logical axioms that express pre- and post-condition assertions which define the precise input/output behavior of the C routines. Thanks to the integrated support for symbolic execution and deductive verification provided by 𝕂, some synthesized axioms that cannot be guaranteed to be correct by construction due to abstraction can finally be verified in our setting with little effort.
Keywords: contract inference, symbolic execution, abstract subsumption, deductive verification
DOI: 10.3233/FI-2020-1989
Journal: Fundamenta Informaticae, vol. 177, no. 3-4, pp. 235-273, 2020
IOS Press, Inc.
6751 Tepper Drive
Clifton, VA 20124
USA
Tel: +1 703 830 6300
Fax: +1 703 830 2300
sales@iospress.com
For editorial issues, like the status of your submitted paper or proposals, write to editorial@iospress.nl
IOS Press
Nieuwe Hemweg 6B
1013 BG Amsterdam
The Netherlands
Tel: +31 20 688 3355
Fax: +31 20 687 0091
info@iospress.nl
For editorial issues, permissions, book requests, submissions and proceedings, contact the Amsterdam office info@iospress.nl
Inspirees International (China Office)
Ciyunsi Beili 207(CapitaLand), Bld 1, 7-901
100025, Beijing
China
Free service line: 400 661 8717
Fax: +86 10 8446 7947
china@iospress.cn
For editorial issues, like the status of your submitted paper or proposals, write to editorial@iospress.nl
如果您在出版方面需要帮助或有任何建, 件至: editorial@iospress.nl