ABSTRACT
One desired quality attribute of software is software modularity which is a degree to which the software is decomposed into loosely couple packages. Each software package consists of highly cohesive classes. When the software is modified due to software changes, the modularity of the software is affected. The software needs to be remodularized in order to maintain its modularity. This paper proposes an approach to remodularize the software using Tabu search for improving the modularity of the modified software. An evaluation is conducted with two examples and the results of a preliminary evaluation are reported.
- Melton, H., and Tempero, E. 2007. Towards assessing modularity. 1st International Workshop on Assessment of Contemporary Modularization Techniques. ACoM '07, 3--3. DOI= https://doi.org/10.1109/ACOM.2007.10 Google ScholarDigital Library
- Amarjeet, P., and Kumar, C. 2019. Information-theoretic remodularization of object-oriented software systems. Information systems frontiers. (Jan. 2019), DOI= https://doi.org/10.1007/s10796-019-09897-y.Google Scholar
- Junha, L., Jiwoo, P., Sooyong, P., and Dae-Kyoo, K. 2017. Class Modularization Using Indirect Relationships. International Conference on Engineering of Complex Computer Systems. 111--119. DOI= https://doi.org/10.1109/ICECCS.2017.23.Google Scholar
- Zellagui, S., Tibermacine, C., Bouziane, H., Seriai, A., and Dony, C. 2017. Refactoring Object-Oriented Applications towards a better Decoupling and Instantiation Unanticipation. SEKE. DOI= https://doi.org/10.18293/SEKE2017--119.Google Scholar
- Arie, V.D., and Tobias, K. 1999. Identifying Objects using Cluster and Concept Analysis, Proceedings of the 21st international conference on Software engineering: ICSE 99, Los Angeles CA, USA (May 1999), 246--255. DOI= https://doi.org/10.1145/302405.302629. Google ScholarDigital Library
- Rathee, A., and Chhabra, J.K. 2017. Software Remodularization by Estimating Structural and Conceptual Relations Among Classes and Using Hierarchical Clustering. In: Advanced Informatics for Computing Research. ICAICR 2017, 94--106. DOI= https://doi.org/10.1007/978-981-10-5780-9_9.Google Scholar
- Gustavo, S., Marco, T. V., and Nicolas, A. 2014. Remodularization analysis using semantic clustering. CSMR-WCRE 2014, Antwerp, Belgium, 224--233. DOI= https://doi.org/10.1109/CSMR-WCRE.2014.6747174.Google Scholar
- Marcelo, S.Z., Claudio, J.T., Ingo, S., and Frank, S. 2014. Automated Software Remodularization Based on Move Refactoring. MODULARITY '14: Proceedings of the 13th international conference on Modularity (April 2014), 73--84. DOI= https://doi.org/10.1145/2577080.2577097. Google ScholarDigital Library
- Bright, G.V., Kumudha, R., and Jeno, L. 2019. A novel approach for automatic remodularization of software systems using extended ant colony optimization algorithm. Information and software technology 114. 107--120. DOI= https://doi.org/10.1016/j.infsof.2019.06.002.Google Scholar
- Fred, G., and Manuel, L. 1997. Tabu search. Springer Science business media. New York, DOI= https://doi.org/10.1007/978-1-4615-6089--0.Google Scholar
- Olaf, S., Markus, B., Matthias, B., and Gert, P. 2005. Search-based Improvement of Subsystem Decompositions. GECCO'05 (June 25-29, Washington, DC, USA), 1045--1051. DOI= https://doi.org/10.1145/1068009.1068186. Google ScholarDigital Library
- Hani, A., Stephane, D., Houari, S., and Ilham, A. 2009. Automatic Package Coupling and Cycle Minimization. 16th Working Conference on Reverse Engineering (Lille, 2009), 103--112. DOI= https://doi.org/10.1109/WCRE.2009.13. Google ScholarDigital Library
- Amarjeet, P., and Jitender, K.C. 2017. Harmony search based remodularization for object-oriented software systems. Computer Languages, Systems and Structures (January 2017). DOI= https://doi.org/10.1016/j.cl.2016.09.003.Google Scholar
- Mitchell, B.S. 2003. A Heuristic Approach to Solving the Software Clustering Problem. International Conference on Software Maintenance (ICSM'03) DOI= https://doi.org/10.1109/ICSM.2003.1235432. Google ScholarDigital Library
- Mitchell, B.S., and Mancoridis, S. 2006. On the automatic modularization of software Systems using the bunch tool. IEEE Transactions on software engineering. vol. 32, no. 3, (March 2006), 193--208. DOI= https://doi.org/10.1109/TSE.2006.31. Google ScholarDigital Library
- Mitchell, B. 2002. A Heuristic search approach to solving the software clustering problem. PhD thesis, Thesis Drexel University, Philadelphia, USA Google ScholarDigital Library
- Peter, J.R. 1987. Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics. vol. 20, 53--65. DOI=https://doi.org/10.1016/0377-0427(87)90125--7. Google ScholarDigital Library
- Ayaz, I., Habib, I., and Islam, E. 2017. Source code modularization theory and techniques. Springer International Publishing AG, 50-55, 207--213. DOI = https://doi.org/10.1007/978-3-319-63346-6. Google ScholarDigital Library
Index Terms
- Software Remodularization Using Tabu Search
Recommendations
Using Cohesion and Coupling for Software Remodularization: Is It Enough?
Refactoring and, in particular, remodularization operations can be performed to repair the design of a software system and remove the erosion caused by software evolution. Various approaches have been proposed to support developers during the ...
Many-Objective Software Remodularization Using NSGA-III
Software systems nowadays are complex and difficult to maintain due to continuous changes and bad design choices. To handle the complexity of systems, software products are, in general, decomposed in terms of packages/modules containing classes that are ...
Information-Theoretic Remodularization of Object-Oriented Software Systems
AbstractSoftware remodularization consists in reorganizing software entities into modules such that pairs of entities belonging to the same modules are more similar than those belonging to different modules. In recent years, Search-Based Software ...
Comments