skip to main content
research-article

Software re-engineering using imperialist competitive algorithm

Published:11 November 2013Publication History
Skip Abstract Section

Abstract

Maintenance is one of the important phases of the software development life cycle which contributes to the effective and long term use of any software system. It can become cumbersome and costly for software maintainers when subsystem boundaries are not clearly defined. Further, the problem gets worse due to the system evolution, lack of current documentation and lack of original design documentation. The application of clustering techniques and tools helps software maintenance programmers to recover high-level views of system designs and hence leads to better understanding and maintenance of software systems. In this paper, we have used a sociopolitical Imperialist Competitive Algorithm for software module clustering and compared it with existing evolutionary approaches. We conclude that the novel socio-political approach produces better quality clusters as compared to the earlier evolutionary genetic approaches.

References

  1. Andritsos, P. and Tzerpos, V. 2005. Information-Theoretic Software Clustering. IEEE Trans. on Softw. Eng.31, 2, 150--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Atashpaz-Gargari, E., & Lucas, C. (2007, September). Imperialist competitive algorithm: an algorithm for optimization inspired by imperialistic competition. In Evolutionary Computation, 2007. CEC 2007. IEEE Congress on, 4661--4667.Google ScholarGoogle Scholar
  3. Bouktif, S. Antoniol,G.,Merlo, E. and Neteler, M. A novel approach to optimize clone refactoring activity. In Proceedings of the 8th Annu. Conf. on Genetic and evolutionary computation(Seattle, Washington, 2006), 2,GECCO 2006, 1901--1908. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bouktif, S., Sahraoui, H. and Antoniol, G. 2006. Simulated annealing for improving software quality prediction. In Proceedings of the 8th Annu. Conf. on Genetic and evolutionary computation (Seattle, Washington).ACM, New York, NY, 1893--1900. DOI= 10.1145/1143997.1144313 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Fatiregun, D., Harman, M. and Hierons, R.2005.Search-based amorphous slicing. In 12th Int. Working Conf. on Reverse Engineering 2005( Pittsburgh, PA, 2005), 3--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 8 Goldberg, D.E. 1989. Genetic Algorithms in Search, Optimization and Machine Learning Addison-Wesley, MA Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Harman, M., Hierons, R. and Proctor, M.2002. A new representation and crossover operator for search-based optimization of software modularization. In Proceedings of the Genetic and Evolutionary Computation Conf. 2002(San Francisco, NY, March 2002), GECCO 2002, 1351--1358. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Haupt, R. L. and Haupt, S.E. 2004. Practical Genetic Algorithms. 2nd ed., JohnWiley & Sons, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Keeffe, M. and O'Cinneide, M. (March 2006). Search-based software maintenance. In Proceedings Of 10th European Conf. on Software Maintenance and Reengineering 2006(Bari, March 22-24, 2006),CSMR 2006, IEEE, 249--260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Khorani, V., Razavi, F.and Ghoncheh, A. 2010.A new hybrid evolutionary algorithm based on ICA and GA: Recursive-ICAGA. The 2010 Int. Conf. on Artificial Intell.( Hangzhou, China), IC-AI 2010, IEEE, 131--140.Google ScholarGoogle Scholar
  11. Khorani, V., Forouzideh, N. ; Nasrabadi, A.M..2011.Artificial neural network weights optimization using ICA, GA, ICA-GA and R-ICA-GA: Comparing performances. IEEE Workshop on Hybrid Intelligent Models And Applications 2011(Paris, France, April 11-15, 2011).HIMA 2011,61--67 DOI= 10.1109/HIMA.2011.5953956Google ScholarGoogle ScholarCross RefCross Ref
  12. Lehman, M. M. 1984. Program Evolution. J. of Inform. Process. Manage.19,1, 19--36. DOI=http://dx.doi.org/10.1016/0306-4573(84)90037-2Google ScholarGoogle ScholarCross RefCross Ref
  13. Mahdavi, K., Harman, M. and Hierons, R.M. (September, 2003). A multiple hill climbing approach to software module clustering. In IEEE Int. Conf. on Software Maintenance( Los Alamitos, California, September 22-26, 2003).ICSM 2003,315--324. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Mitchell, B.S., Mancoridis, S., Rorres, C., Chen, Y. and Gansner, E.R. 1998. Using automatic clustering to produce high-level system organizations of source code. In Proceedings Of 6th int. workshop on Program Comprehension(Singapore, Septemeber 25-28, 2007). CEC 2007. IEEE, 45--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Mitchell, B.S. and Mancoridis, S. 2001.Comparing the decompositions produced by software clustering algorithms using similarity measurement. In Proceedings of Int. Conf. of Software Maintenance (Florence, Tuscany, November 07-09, 2001), IEEE, Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mitchell, B.S. and Mancoridis, S. 2002. Using heuristic search techniques to extract design abstractions from source code. In Proceedings of the Genetic and Evolutionary Computation Conf. 2002(San Francisco, NY, March 2002), GECCO 2002, 1375--1382. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Mitchell, B.S. and Mancoridis, S. 2006. On the automatic modularization of software systems using the bunch tool. IEEE Transactions on Software Engineering, 32, 3(March 2006), 193--208. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Rasekh, I. 2012. Dynamic Search Optimization for Semantic Webs Using Imperialistic Competitive Algorithm. In Proceedings Of int. conf. on Inform. Sci. and Applicat. 2012 (Suwon, Gyeonggi, May 23-25,2012), ICISA 2012, 1--5. DOI= 10.1109/ICISA.2012.6220931Google ScholarGoogle ScholarCross RefCross Ref
  19. Sayadnavard, M.H., Monireh, H., Haghighat, A.T. and Abdechiri, M. 2010. Wireless sensor network localization using imperialist competitive algorithm. In Proceedings. Of 3rd int. conf. on Comput. Sci. and Inform. Technology 2010 (Chengdu, Sichuan,Google ScholarGoogle Scholar
  20. Shaw, M. and Garlan, D. 1996.Software Architecture: Perspectives of an Emerging Discipline. Prentice Hall, Englewood Cliffs, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Tzerpos, V. and Holt, R.C.(2000, November). ACDC: An algorithm for comprehension-driven clustering. In Proceedings. of the 7th Working Conf on Reverse Eng(Brisbane, Qld, November 25-28 2000), IEEE. 258--267. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. http://en.icasite.info/. Accessed on March 02, 2013.Google ScholarGoogle Scholar

Index Terms

  1. Software re-engineering using imperialist competitive algorithm

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Article Metrics

        • Downloads (Last 12 months)1
        • Downloads (Last 6 weeks)1

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader