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 :
بازگشت