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


Creative Commons License

Izadkhah H., Elgedawy I., Isazadeh A.

CYBERNETICS AND INFORMATION TECHNOLOGIES, cilt.16, sa.3, ss.70-90, 2016 (ESCI) identifier identifier

  • Yayın Türü: Makale / Tam Makale
  • Cilt numarası: 16 Sayı: 3
  • Basım Tarihi: 2016
  • Doi Numarası: 10.1515/cait-2016-0035
  • Dergi Adı: CYBERNETICS AND INFORMATION TECHNOLOGIES
  • Derginin Tarandığı İndeksler: Emerging Sources Citation Index (ESCI), Scopus
  • Sayfa Sayıları: ss.70-90
  • Anahtar Kelimeler: E-CDGM, call-dependency graph, software architecture, modularization, evolutionary approach
  • Orta Doğu Teknik Üniversitesi Adresli: Evet

Özet

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.