Abstract

With edge computing-based Internet-of-Things environments widely recognized, major software technologies are rapidly integrated. Among the various areas of such technologies, software evolution and maintenance are essential yet challenging tasks both for research and in practice. In particular, for large-scale software, the maintenance costs are often much more than the development cost. In order to help to resolve this issue, software module clustering approaches have been studied to build adequate modules with high cohesion and low coupling; such modular structures can help the comprehension and maintenance of complex systems. The existing studies apply either structural, semantic, or historic-based factors as clustering criteria; however, to the best of our knowledge, no previous study considers Graphical User Interface (GUI) as a factor for software module clustering. Because GUI is linked to the functionalities of a software system, it can be a useful source to find cohesive modules and generate well-defined modular structures. Thus, in this study, we propose a GUI-based approach for software module clustering to improve the quality of software modularization. Quantitative and qualitative experiments are performed to evaluate the performance of the proposed approach and comparing it with three existing approaches; using two open source software systems. The evaluation results show that our proposed approach generates feasible software modules and provides closer estimates to actual modularization than those of the existing approaches.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call