Mining Reusable Software Components from Object-Oriented Source Code using Discrete PSO and Modeling Them as Java Beans (original) (raw)
References
Allier, S., Sadou, S., Sahraoui, H., Fleurquin, R. (2011). From object-oriented applications to component-oriented applications via component-oriented architecture. In 2011 Ninth working IEEE/IFIP conference on software architecture (pp. 214–223), DOI https://doi.org/10.1109/WICSA.2011.35.
Alshara, Z., Seriai, A.D., Tibermacine, C., Bouziane, H.L., Dony, C., Shatnawi, A. (2015). Migrating large object-oriented applications into component-based ones: instantiation and inheritance transformation. SIGPLAN Not., 51(3), 55–64. Google Scholar
Baeza-Yates, R.A., & Ribeiro-Neto, B. (1999). Modern information retrieval. Boston: Addison-Wesley Longman Publishing Co., Inc. Google Scholar
Bavota, G., Carnevale, F., De Lucia, A., Di Penta, M., Oliveto, R. (2012). Putting the developer in-the-loop: an interactive ga for software re-modularization. In Fraser, G., & Teixeira de Souza, J. (Eds.) Search based software engineering (pp. 75–89). Berlin: Springer.
Birkmeier, D., & Overhage, S. (2009). On component identification approaches – classification, state of the art, and comparison. In Lewis, G. A., Poernomo, I., Hofmeister, C. (Eds.) Component-based software engineering (pp. 1–18). Berlin: Springer.
Chardigny, S., Seriai, A., Oussalah, M., Tamzalit, D. (2008). Extraction of component-based architecture from object-oriented systems. In Seventh working IEEE/IFIP conference on software architecture (WICSA 2008) (pp. 285–288), DOI https://doi.org/10.1109/WICSA.2008.44.
von Detten, M., Platenius, M.C., Becker, S. (2014). Reengineering component-based software systems with archimetrix. Software &, Systems Modeling, 13(4), 1239–1268. Google Scholar
Garriga, M., Renzis, A.D., Lizarralde, I., Flores, A., Mateos, C., Cechich, A., Zunino, A. (2018). A structural-semantic web service selection approach to improve retrievability of web services. Information Systems Frontiers, 20(6), 1319–1344. Google Scholar
Gong, C., Chen, H., He, W., Zhang, Z. (2017). Improved multi-objective clustering algorithm using particle swarm optimization. In Plos one.
Hamdouni, A.E., Seriai, A., Huchard, M. (2010). Component-based architecture recovery from object oriented systems via relational concept analysis. In Proceedings of the 7th international conference on concept lattices and their applications, Sevilla, Spain, October 19-21, 2010, pp. 259–270.
Hamza, S., Sadou, S., Fleurquin, R. (2013). Measuring qualities for osgi component-based applications. In 2013 13Th international conference on quality software (pp. 25–34), DOI https://doi.org/10.1109/QSIC.2013.42.
Heisel, M., Santen, T., Souquières, J. (2002). On the specification of components - the JavaBeans example. Intern report A02-R-025 —– heisel02a. https://hal.inria.fr/inria-00107634. Rapport interne.
Ilk, N., Zhao, J.L., Goes, P., Hofmann, P. (2011). Semantic enrichment process: an approach to software component reuse in modernizing enterprise systems. Information Systems Frontiers, 13(3), 359–370. Google Scholar
Kebir, S., Seriai, A.D., Chardigny, S., Chaoui, A. (2012). Quality-centric approach for software component identification from object-oriented code. In 2012 Joint working IEEE/IFIP conference on software architecture and european conference on software architecture (pp. 181–190).
Lorenz, D.H., & Vlissides, J. (2001). Designing components versus objects: a transformational approach. In Proceedings of the 23rd international conference on software engineering. ICSE 2001 (pp. 253–263), DOI https://doi.org/10.1109/ICSE.2001.919099.
Martin, R.C. (2003). Agile software development: principles, patterns, and practices. Upper Saddle River: Prentice Hall PTR. Google Scholar
Mitchell, B.S. (2003). A heuristic approach to solving the software clustering problem. In International conference on software maintenance, 2003. ICSM 2003. Proceedings (pp. 285–288).
Mu, L., Sugumaran, V., Wang, F. (2019). A hybrid genetic algorithm for software architecture re-modularization. Information Systems Frontiers.
Nebro, A.J., Durillo, J.J., Coello Coello, C.A., Luna, F., Alba, E. (2008). A study of convergence speed in multi-objective metaheuristics. In Rudolph, G., Jansen, T., Beume, N., Lucas, S., Poloni, C. (Eds.) Parallel problem solving from nature – PPSN X (pp. 763–772). Berlin: Springer.
Praditwong, K., Harman, M., Yao, X. (2011). Software module clustering as a multi-objective search problem. IEEE Transactions on Software Engineering, 37(2), 264–282. Google Scholar
Prajapati, A., & Chhabra, J.K. (2017). Improving modular structure of software system using structural and lexical dependency. Information &, Software Technology, 82, 96–120. Google Scholar
Prajapati, A., & Chhabra, J.K. (2018). FP-ABC: fuzzy-pareto dominance driven artificial bee colony algorithm for many-objective software module clustering. Computer Languages, Systems &, Structures, 51, 1–21. Google Scholar
Prajapati, A., & Chhabra, J.K. (2018). Many-objective artificial bee colony algorithm for large-scale software module clustering problem. Soft Comput., 22(19), 6341–6361. Google Scholar
Prajapati, A., & Chhabra, J.K. (2018). A particle swarm optimization-based heuristic for software module clustering problem. Arabian Journal for Science and Engineering, 43(12), 7083–7094. https://doi.org/10.1007/s13369-017-2989-x. Article Google Scholar
Prajapati, A., & Chhabra, J.K. (2019). Information-theoretic remodularization of object-oriented software systems. Information Systems Frontiers .
Prajapati, A., & Chhabra, J.K. (2019). Madhs: many-objective discrete harmony search to improve existing package design. Computational Intelligence, 35(1), 98–123. Google Scholar
Rathee, A., & Chhabra, J.K. Singh, D., Raman, B., Luhach, A. K., Lingras, P. (Eds.). (2017). Software remodularization by estimating structural and conceptual relations among classes and using hierarchical clustering. Singapore: Springer.
Rathee, A., & Chhabra, J.K. (2018a). Clustering for software remodularization by using structural, conceptual and evolutionary. Journal of Universal Computer Science, 24(12), 1731–1757. Google Scholar
Rathee, A., & Chhabra, J.K. (2018b). Improving cohesion of a software system by performing usage pattern based clustering. Procedia Computer Science, 125, 740–746. The 6th International Conference on Smart Computing and Communications. Google Scholar
Rathee, A., & Chhabra, J.K. (2019). A multi-objective search based approach to identify reusable software components. Journal of Computer Languages, 52, 26–43. Google Scholar
Rathee, A., & Chhabra, J.K. (2019). Reusability in multimedia softwares using structural and lexical dependencie. Multimedia Tools and Applications.
Seriai, A., Sadou, S., Sahraoui, H.A. (2014). Enactment of components extracted from an object-oriented application, (pp. 234–249). Cham: Springer. Google Scholar
Shan, S.M., Deng, G.S., He, Y.H. (2006). Data clustering using hybridization of clustering based on grid and density with pso. In 2006 IEEE International conference on service operations and logistics, and informatics (pp. 868–872), DOI https://doi.org/10.1109/SOLI.2006.328970.
Shatnawi, A., & Seriai, A.D. (2013). Mining reusable software components from object-oriented source code of a set of similar software. In 2013 IEEE 14th international conference on information reuse integration (IRI) (pp. 193–200), DOI https://doi.org/10.1109/IRI.2013.6642472.
Shatnawi, A., Seriai, A.D., Sahraoui, H., Alshara, Z. (2017). Reverse engineering reusable software components from object-oriented apis. Journal of Systems and Software, 131, 442–460. Google Scholar
Shatnawi, A., Shatnawi, H., Saied, M.A., Alshara, Z., Sahraoui, H.A., Seriai, A. (2018). Identifying components from object-oriented apis based on dynamic analysis. CoRR arXiv:1803.06235.
Sierra, M.R., & Coello Coello, C.A. (2005). Improving pso-based multi-objective optimization using crowding, mutation and dominance. In Coello Coello, C. A., Hernández Aguirre, A., Zitzler, E. (Eds.) Evolutionary multi-criterion optimization (pp. 505–519). Berlin: Springer.
Song, M., Jung, H., Yang, Y. (2002). The analysis technique for extraction of ejb component from legacy system. In In proc. 6th IASTED international conference on software engineering and applications (pp. 241–244).
Tempero, E., Anslow, C., Dietrich, J., Han, T., Li, J., Lumpe, M., Melton, H., Noble, J. (2010). The qualitas corpus: a curated collection of java code for empirical studies. In 2010 Asia pacific software engineering conference (pp. 336–345), DOI https://doi.org/10.1109/APSEC.2010.46.
Tydrichova, M. (2017). Analysis of various multi-objective optimization evolutionary algorithms for monte carlo treatment planning system. http://cds.cern.ch/record/2276909.
Washizaki, H., & Fukazawa, Y. (2005). A technique for automatic component extraction from object-oriented programs by refactoring. Science of Computer Programming, 56(1), 99–116. New Software Composition Concepts. Google Scholar
Yacoub, S., Ammar, H., Mili, A. (1999). Characterizing a software component. In Proceedings of the 2nd workshop on component-based software engineering, in conjunction with ICSE’99.