Work place: Department of Computer Science, Texas State University, San Marcos, Texas, USA
E-mail: bsse0508@iit.du.ac.bd
Website:
Research Interests: Computational Engineering, Software Construction, Software Development Process, Software Engineering
Biography
Tarek Mahmud is a PhD student in the Department of Computer Science at Texas State University. He is working in the Software Engineering lab there. He completed his Bachelor of Science in Software Engineering (BSSE) from Institute of Information Technology, University of Dhaka. His area of interest is Software Engineering especially in program analysis and software validation, verification and testing.
By Tahmim Jeba Tarek Mahmud Pritom S. Akash Nadia Nahar
DOI: https://doi.org/10.5815/ijitcs.2020.05.02, Pub. Date: 8 Oct. 2020
Code smells are the indicators of the flaws in the design and development phases that decrease the maintainability and reusability of a system. A system with uneven distribution of responsibilities among the classes is generated by one of the most hazardous code smells called God Class. To address this threatening issue, an extract class refactoring technique is proposed that incorporates both cohesion and contextual aspects of a class. In this work, greater emphasis was provided on the code documentation to extract classes with higher contextual similarity. Firstly, the source code is analyzed to generate a set of cluster of extracted methods. Secondly, another set of clusters is generated by analyzing code documentation. Then, merging these two, a final cluster set is formed to extract the God Class. Finally, an automatic refactoring approach is also followed to build newly identified classes. Using two different metrics, a comparative result analysis is provided where it is shown that the cohesion among the classes is increased if the context is added in the refactoring process. Moreover, a manual inspection is conducted to ensure that the methods of the refactored classes are contextually organized. This recommendation of God Class extraction can significantly help the developers in minimizing the burden of refactoring on own their own and maintaining the software systems.
[...] Read more.Subscribe to receive issue release notifications and newsletters from MECS Press journals