Function recovery based on program slicing
- 1 January 1993
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
To make an existing program easier to understand and modify, we propose the identification and extraction of two main kinds of components: environment-dependent operations and domain-dependent functionalities. A reference information model drives the process by giving expectations of components and their interface data. We apply two modified definitions of Weiser's slicing to this function recovery problem: direct slice and transform slice. The former, direct slice, is an executable subset of the original program containing all the statements which directly contribute either to the writing on an external sink or to the reading from an external source. The latter, transform slice, is also an executable subset including all the instructions which directly or indirectly contribute to transform an external input into an external outputKeywords
This publication has 9 references indexed in Scilit:
- The Relationship Between Slices And Module CohesionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Locating user functionality in old codePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Extracting application domain functions from old code: a real experiencePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Identification and extraction of 'domain independent' components in large programsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Program slicing for C-the problems in implementationPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Using program slicing in software maintenanceIEEE Transactions on Software Engineering, 1991
- Interprocedural slicing using dependence graphsPublished by Association for Computing Machinery (ACM) ,1988
- Program SlicingIEEE Transactions on Software Engineering, 1984
- Programmers use slices when debuggingCommunications of the ACM, 1982