Title :
Identifying reusable functions using specification driven program slicing: a case study
Author :
Cimitile, Aniello ; De Lucia, Andrea ; Munro, Malcolm
Author_Institution :
Fac. of Eng., Salerno Univ., Italy
Abstract :
We present the results of a case study in identifying and isolating reusable functions from C programs. The work exploits and specializes to programs written in C the theoretical framework of specification driven program slicing, a new program slicing process for isolating code fragments implementing functional abstractions. The specification of the function to be isolated, given in terms of a precondition and a postcondition, is used to identify a suitable slicing criterion. The preconditions for the execution of program statements and predicates are abstracted by using symbolic execution and compared with the conditions of the specification. The statements whose preconditions are equivalent to the pre and postconditions of the functional abstraction are candidates for entry and exit points of the slice implementing the abstraction. Once the slicing criterion has been identified, the slice can be isolated using algorithms based on control flow graphs and dependence graphs
Keywords :
data flow analysis; formal specification; program control structures; program diagnostics; software maintenance; software reusability; symbol manipulation; C programs; algorithms; code fragment isolation; control flow graphs; dependence graphs; entry points; exit points; functional abstractions; postcondition; precondition; program predicate execution; program statement execution; reusable function identification; specification driven program slicing; symbolic execution; Computer aided software engineering; Control systems; Degradation; Entropy; Hardware; Process design; Reverse engineering; Software maintenance; Software reusability; Software systems;
Conference_Titel :
Software Maintenance, 1995. Proceedings., International Conference on
Conference_Location :
Opio
Print_ISBN :
0-8186-7677-9
DOI :
10.1109/ICSM.1995.526534