E-CDGM: An Evolutionary Call-Dependency Graph Modularization Approach for Software Systems

2016-9-1
Izadkhah, Habib
Elgedawy, Islam
Isazadeh, Ayaz
Lack of up-to-date software documentation hinders the software evolution and maintenance processes, as simply the outdated software structure and code could be easily misunderstood. One approach to overcoming such problems is using software modularization, in which the software architecture is extracted from the available source code; such that developers can assess the reconstructed architecture against the required changes. Unfortunately, existing software modularization approaches are not accurate, as they ignore polymorphic calls among system modules. Furthermore, they are tightly coupled to the used programming language. To overcome such problems, this paper proposes the E-CDGM approach. E-CDGM decouples the extracted call dependency graph from the programming language by using the proposed intermediate code language (known as mCode). It also takes into consideration the polymorphic calls during the call dependency graph generation. It uses a new evolutionary optimization approach to find the best modularization option; adopting reward and penalty functions. Finally, it uses statistical analysis to build a final consolidated modularization model using different generated modularization solutions. Experimental results show that the proposed E-CDGM approach provides more accurate results when compared against existing well-known modularization approaches.
Cybernetics and Information Technologies

Suggestions

ELA: an automated statistical fault localization technique
Bayraktar, Özkan; Betin Can, Aysu; Department of Information Systems (2015)
Software debugging consists of locating software faults, finding their causes, and fixing them. Among all these activities, the fault localization is the most difficult one and requires manual effort. Although there are several studies on automating this process, their effectiveness has not yet reached at a desired level. In this dissertation, we propose a fault localization framework that introduces a new fault localization metric called Ela, three test suite reduction strategies to improve the effectivene...
Assess agility : agility assessment approach supported with an automated web based agility assessment tool
Adalı, Onat Ege; Demirörs, Onur; Özcan Top, Özden; Department of Information Systems (2017)
Today, more and more organizations are adopting agile methodologies to their software development processes. However, this adoption process is not straightforward due to the extensive knowledge and effort required. Currently, most agile adopters use assessments at a regular basis to understand the extent of their agility and to determine the success of their agile adoption. There have been many studies conducted about agile assessment models in the literature. Still, these models require significant time an...
Using collaboration diagrams in component oriented modelin
Tuncel, Mehmet Burhan; Doğru, Ali Hikmet; Department of Computer Engineering (2006)
Component Oriented Software Engineering (COSE) seems to be the future of software engineering. Currently, COSEML is the only modeling language that completely supports the COSE approach. Abstract decomposition of the system and their representing components are shown in a hierarchy diagram to support the COSE process model. In COSEML, only static modeling is supported through this single diagram. However, software is about behavior and static modeling is not sufficient to describe the system. The aim of thi...
An Ontology based approach to requirements reuse problem in software product lines
Karataş, Elif Kamer; Birtürk, Ayşenur; Department of Computer Engineering (2012)
With new paradigms in software engineering such as Software Product Lines, scope of reuse is enlarged from implementation upto design, requirements, test-cases, etc. In this thesis an ontology-based approach is proposed as a solution to systematic requirement reuse problem in software product lines, and the approach is supported with a reuse automation tool. A case study is performed on the projects of an industrial software product line using hereby proposed solution and then based on the evaluated metrics...
Modeling and code generation for a reference software architecture for naval platform command and control systems
Turhan, Nafiye Kübra; Oğuztüzün, Mehmet Halit S.; Department of Computer Engineering (2017)
Many software teams who work in a particular domain develop software products compliant with a specific Reference Software Architecture. By adopting a Reference Software Architecture within an organization, software development schedule tend to shorten, efficiency of software development process and quality of software product tend to increase. Architectures of all application software that are developed by Sea Defense Systems Software Team are created based on a predefined Reference Software Architecture n...
Citation Formats
H. Izadkhah, I. Elgedawy, and A. Isazadeh, “E-CDGM: An Evolutionary Call-Dependency Graph Modularization Approach for Software Systems,” Cybernetics and Information Technologies, pp. 70–90, 2016, Accessed: 00, 2020. [Online]. Available: https://hdl.handle.net/11511/51221.