Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
12-2019
Abstract
Analyzing and verifying heap-manipulating programs automatically is challenging. A key for fighting the complexity is to develop compositional methods. For instance, many existing verifiers for heap-manipulating programs require user-provided specification for each function in the program in order to decompose the verification problem. The requirement, however, often hinders the users from applying such tools. To overcome the issue, we propose to automatically learn heap-related program invariants in a property-guided way for each function call. The invariants are learned based on the memory graphs observed during test execution and improved through memory graph mutation. We implemented a prototype of our approach and integrated it with two existing program verifiers. The experimental results show that our approach enhances existing verifiers effectively in automatically verifying complex heap-manipulating programs with multiple function calls.
Discipline
Information Security | Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
Programming Languages and Systems APLAS 2019: Proceedings of the 17th Asian Symposium, Bali, December 1-4
Volume
11893
First Page
405
Last Page
424
ISBN
9783030341756
Identifier
10.1007/978-3-030-34175-6_21
Publisher
Springer
City or Country
Cham
Citation
PHAM, Long H.; SUN, Jun; and LOC LE, Quang.
Compositional verification of heap-manipulating programs through property-guided learning. (2019). Programming Languages and Systems APLAS 2019: Proceedings of the 17th Asian Symposium, Bali, December 1-4. 11893, 405-424.
Available at: https://ink.library.smu.edu.sg/sis_research/4639
Copyright Owner and License
Publisher
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1007/978-3-030-34175-6_21