Context-sensitive interprocedural points-to analysis in the presence of function pointers
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Abductive analysis of modular logic programs
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
COM and DCOM: Microsoft's vision for distributed objects
COM and DCOM: Microsoft's vision for distributed objects
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Component technology: what, where, and how?
Proceedings of the 25th International Conference on Software Engineering
Separation and information hiding
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
THOR: A Tool for Reasoning about Shape and Arithmetic
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Compositional shape analysis by means of bi-abduction
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automated verification of shape and size properties via separation logic
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
Low-level library analysis and summarization
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Verifying pointer safety for programs with unknown calls
Journal of Symbolic Computation
Verified software grand challenge
FM'06 Proceedings of the 14th international conference on Formal Methods
Hi-index | 0.00 |
Verification of programs with invocations to unknown procedures is a practical problem, because in many scenarios not all codes of programs to be verified are available. Those unknown calls also pose a challenge for their verification. This paper addresses this problem with an attempt to verify the full functional correctness of such programs using pointer-based data structures. Provided with a Hoare-style specification {φpr} prog {φpo} where program prog contains calls to some unknown procedure unknown, we infer a specification mspecu for unknown from the calling contexts, such that the problem of verifying prog can be safely reduced to the problem of proving that the procedure unknown (once its code is available) meets the derived specification mspecu. The expected specification mspecu for the unknown procedure unknown is automatically calculated using an abduction-based shape analysis specifically designed for a combined abstract domain. We have also done some experiments to validate the viability of our approach.