Browse > Article
http://dx.doi.org/10.9708/jksci.2018.23.04.097

A GUI-based Approach to Software Modularization  

Park, Dongmin (Dept. of Computer Engineering, Yeungnam University)
Seo, Yeong-Seok (Dept. of Computer Engineering, Yeungnam University)
Abstract
Software maintenance activities have always been important issues in many domains of the software industry. In order to help to resolve this issue, software modularization 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. In this paper, we propose a GUI-based automated approach for software modularization based on GUI structure analysis. GUI is a principal manner to allow users to access the overall functionalities of a software system; in particular, GUI is closely related to software functionalities, which makes it a promising tool to identify and understand the entire software system. We also implement a software tool to support our approach and evaluate it with a case study using an open source software.
Keywords
GUI; Software; Maintenance; Modularization; Understandability;
Citations & Related Records
연도 인용수 순위
  • Reference
1 G. Bavota, F. Carnevale, A.D. Lucia, M.D. Penta, and R. Oliveto, "Putting the developer in-the-loop: an inter active GA for software remodularization," Proceedings of the International Symposium on Search Based Software Engineering, pp. 75-89, 2012.
2 W. Mkaouer, M. Kessentini, A. Shaout, P. Koligheu, S. Bechikh, K. Deb, and A. Ouni, "Many-objective software remodularization using NSGA-III," ACM Transactions on Software Engineering and Methodology, Vol. 24, No. 3, pp. 1-45, 2015.
3 A. Prajapati, and J.K. Chhabra, "Improving package struc ture of object-oriented software using multi-objective optimization and weighted class connections," Journal of King Saud University - Computer and Information Sciences, Vol. 29, No. 3, pp. 349-364, 2017.   DOI
4 O. Maqbool, and H. A. Babri, "The weighted combined algorithm: a linkage algorithm for software clustering," Proceedings of the 8th European Conference Software Maintenance and Reengineering, pp. 15-24, 2004.
5 K. H. Bennett, and V. T. Rajlich, "Software maintenance and evolution: a roadmap," Proceedings of the Conference on The Future of Software Engineering, pp. 73-87, 2000.
6 Ian Sommerville, "Software Engineering(10th Edition)," Pearson, 2015.
7 A. Corazza, S.D. Martino, V. Maggio, and G. Scanniello, "Investigating the use of lexical information for software system clustering," Proceedings of the 15th European Conference on Software Maintenance and Reengineering, pp. 35-44, 2011.
8 D. Doval, S. Mancoridis, and B. S. Mitchell, "Automatic clustering of software systems using a genetic algorithm," Proceedings of the Software Technology and Engineering Practice, pp. 73-81, 1999.
9 G. Santos, M. T. Valente, and N. Anquetil, "Remodu larization analysis using semantic clustering," Proceedings of the IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, pp. 224-233, 2014.
10 G. Scanniello, A. DAmico, C. DAmico, and T. DAmico, "Using the kleinberg algorithm and vector space model for software system clustering," Proceedings of the international conference on program comprehension, pp. 180-189, 2010.
11 TerpPaint, http://terppaint.sourceforge.net/download/
12 B. S. Mitchell, and S. Mancoridis, "On the automatic modularization of software systems using the bunch tool," IEEE Transactions on Software Engineering, Vol. 32, No. 3, pp. 193-208, 2006.   DOI
13 U. Erdemir, and F. Buzluca, "A learning-based module extraction method for object-oriented systems," Journal of Systems and Software, Vol. 97, pp. 156-188, 2014.   DOI
14 K. Praditwong, M. Harman, and X. Yao, "Software module clustering as a multi-objective search problem," IEEE Transactions on Software Engineering, Vol. 37, No. 2, pp. 264-282, 2011.   DOI
15 A. Corazza, S.D. Martino, V. Maggio, and G. Scanniello, "Weighing lexical information for software clustering in the context of architecture recovery," Empirical Software Engineering, Vol. 21, No. 1, pp. 72-103, 2016.   DOI
16 M. Risi, G. Scanniello, and G. Tortora, "Using fold-in and fold-out in the architecture recovery of software systems," Formal Aspects of Computing, Vol. 24, No. 3, pp. 307-330, 2012.   DOI