DocumentCode
2360063
Title
Qualifying reusable functions using symbolic execution
Author
Cimitile, Aniello ; De Lucia, Andrea ; Munro, Malcolm
Author_Institution
Dipartimento di Ingegneria dell´´Inf. ed Ingegneria Elettrica, Salerno Univ., Italy
fYear
1995
fDate
1995
Firstpage
178
Lastpage
187
Abstract
We present an approach to reverse engineering source code modules to abstract their interface and functional specifications. A fine-grained program representation for C programs, the Combined C Graph (CGG), is used to perform dynamic analysis of a module by means of symbolic execution techniques. We focus on problems like pointer variables and expressions containing embedded side-effects and control flows. The role of the user interaction to understand the module behaviour and to deal with invariant assertions is also discussed. The functional specifications are produced in the form of first order logic formulas called preconditions and postconditions.
Keywords
C language; algebraic specification; formal logic; formal specification; program control structures; reverse engineering; software reusability; C programs; Combined C Graph; control flows; dynamic analysis; embedded side-effects; fine-grained program; first order logic formula; functional specifications; pointer variables; postconditions; preconditions; program module behaviour; reusable functions; reverse engineering source code modules; symbolic execution; user interaction; Cost function; Logic; Nominations and elections; Performance analysis; Qualifications; Reverse engineering; Software engineering; Software maintenance; Software reusability; Software systems;
fLanguage
English
Publisher
ieee
Conference_Titel
Reverse Engineering, 1995., Proceedings of 2nd Working Conference on
Conference_Location
Toronto, Ont., Canada
Print_ISBN
0-8186-711-43
Type
conf
DOI
10.1109/WCRE.1995.514706
Filename
514706
Link To Document