Predicate calculus and program semantics
Predicate calculus and program semantics
An axiomatic basis for computer programming
Communications of the ACM
A Discipline of Programming
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
A Two-Phase Approach to Reverse Engineering Using Formal Methods
Proceedings of the International Conference on Formal Methods in Programming and Their Applications
DySy: dynamic symbolic execution for invariant inference
Proceedings of the 30th international conference on Software engineering
Computing preconditions and postconditions of while loops
ICTAC'11 Proceedings of the 8th international conference on Theoretical aspects of computing
Discovering likely method specifications
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Hi-index | 0.00 |
Reverse engineering of program code is the process of constructing a higher level abstraction of an implementation in order to facilitate the understanding of a system that may be in a "legacy" or "geriatric" state. Changing architectures and improvements in programming methods, including formal methods in software development and object-oriented programming, have prompted a need to reverse engineer and re-engineer program code. This paper describes the application of the strongest postcondition predicate transformer (strongest postcondition) as the formal basis for the reverse engineering of imperative program code.