Structure-Preserving Binary Relations for Program Abstraction
نویسنده
چکیده
An abstraction is a property-preserving contraction of a program’s model into a smaller one that is suitable for automated analysis. An abstraction must be sound, and ideally, complete. Soundness and completeness arguments are intimately connected to the abstraction process, and approaches based on homomorphisms and Galois connections are commonly employed to define abstractions and prove their soundness and completeness. This paper develops Mycroft and Jones’s proprosal that an abstraction should be stated as a form of structure-preserving binary relation. Mycroft-Jones-style relations are defined, developed, and employed in characterizations of the homomorphism and Galois-connection approaches to abstraction.
منابع مشابه
Abstraction Refinement for 3-Valued-Logic Analysis
ion Refinement for 3-Valued-Logic Analysis Alexey Loginov, Thomas Reps, and Mooly Sagiv 1 Comp. Sci. Dept., University of Wisconsin; {alexey,reps}@cs.wisc.edu 2 School of Comp. Sci., Tel-Aviv University; [email protected] Abstract. This paper concerns the question of how to create abstractions that are useful for program analysis. It presents a method that refines an abstraction automatical...
متن کاملFork Algebraic Datatypes
Program synthesis is a process that obtains an efficient program out of a specification, preserving its meaning. Fork algebras have been proposed as an algebraic basis for the construction of a program synthesis environment. These algebras have an expressive power that encompasses that of first order logic, and they are also the right abstraction of the set model that considers programs as part...
متن کاملHeap Abstraction Beyond Context-Freeness
The aim of shape analysis is to discover precise abstractions of the reachable data structures in a program’s heap. This paper develops a shape analysis for reasoning about relational properties of data structures, such as balancedness of trees or lengths of lists. Both the concrete and the abstract domain are represented by hypergraphs. The analysis is based on user-defined indexed graph gramm...
متن کاملReverse Engineering of Network Software Binary Codes for Identification of Syntax and Semantics of Protocol Messages
Reverse engineering of network applications especially from the security point of view is of high importance and interest. Many network applications use proprietary protocols which specifications are not publicly available. Reverse engineering of such applications could provide us with vital information to understand their embedded unknown protocols. This could facilitate many tasks including d...
متن کامل