Axiomatizing software test data adequacy
IEEE Transactions on Software Engineering
The evaluation of program-based software test data adequacy criteria
Communications of the ACM
Domain Analysis and Software Systems Modeling
Domain Analysis and Software Systems Modeling
The use of domain knowledge in program understanding
Annals of Software Engineering
Recognizing Design Decisions in Programs
IEEE Software
Plan analysis of programs
Applying Formal Specification to Software Development in Industry
IEEE Transactions on Software Engineering
Understanding and Documenting Programs
IEEE Transactions on Software Engineering
Model-Driven Reverse Engineering
IEEE Software
Hi-index | 0.00 |
Reverse engineering a program constructs a high-levelrepresentation suitable for various software developmentpurposes such as documentation or reengineering.Unfortunately however, there are no establishedguidelines to assess the adequacy of such a representation.We propose two such criteria, completenessand accuracy, and show how they can be determinedduring the course of reversing the representation.A representation is successfully reversed when itis given as input to a suitable code generator, and aprogram equivalent to the original is produced. To explorethis idea, we reverse engineer a small but complexnumerical application, represent our understandingusing algebraic specifications, and then use a codegenerator to produce code from the specification. Wediscuss the strengths and weaknesses of the approachas well as alternative approaches to reverse engineeringadequacy.