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

Copyright Owner and License

Publisher

Additional URL

https://doi.org/10.1007/978-3-030-34175-6_21

Share

COinS