Publication | Closed Access
RESTRUCTURING PROGRAMS THROUGH PROGRAM SLICING
32
Citations
0
References
1994
Year
Software MaintenanceEngineeringCompiler TechnologyComputer ArchitectureSoftware EngineeringSoftware AnalysisFormal VerificationModule DesignSystems EngineeringProgram TransformationProgram SlicingComputer EngineeringSoftware Maintenance PhaseComputer ScienceStatic Program AnalysisSoftware DesignCode RefactoringProgram AnalysisSoftware TestingFormal MethodsFunctional Strength ModulesSystem SoftwareSoftware Restructuring
Software restructuring is recognized as a promising method to improve logical structure and understandability of a software system which is composed of modules with loosely-coupled elements. In this paper, we present methods of restructuring an ill-structured module at the software maintenance phase. The methods identify modules performing multiple functions and restructure such modules. For identifying the multi-function modules, the notion of the tightly-coupled module that performs a single specific function is formalized. This method utilizes information on data and control dependence, and applies program slicing to carry out the task of extracting the tightly-coupled modules from the multi-function module. The identified multi-function module is restructured into a number of functional strength modules or an informational strength module. The module strength is used as a criterion to decide how to restructure. The proposed methods can be readily automated and incorporated in a software tool.