Slicing large programs to isolate reusable functions
- 1 January 1994
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
The identification of reusable assets in existing systems is an important problem to be solved to spread software reuse. This paper presents a method to identify functional abstractions in existing code. Program slicing is used to isolate the external functions of a system and these are then decomposed into more elementary components by intersecting slices. The method is applied in a case study and the results obtained tend to show that it produces satisfactory results for communicationally or sequentially cohesive modules. The work described in this paper forms part of the RE2 project, aiming at spreading the reuse of software through the exploration of reverse engineering and re-engineering techniques to identify, and extract reusable parts from existing systemKeywords
This publication has 23 references indexed in Scilit:
- Migration of procedurally oriented COBOL programs in an object-oriented architecturePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Towards reuse reengineering of old softwarePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Reuse reengineering and validation via concept assignmentPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1993
- Using program slicing in software maintenanceIEEE Transactions on Software Engineering, 1991
- Making software reuse work: an implementation modelACM SIGSOFT Software Engineering Notes, 1991
- Recognizing a program's design: a graph-parsing approachIEEE Software, 1990
- The program dependence graph and its use in optimizationACM Transactions on Programming Languages and Systems, 1987
- Axiomatic approach to Software Metrication through Program DecompositionThe Computer Journal, 1986
- Program SlicingIEEE Transactions on Software Engineering, 1984
- Programmers use slices when debuggingCommunications of the ACM, 1982