|||"Fixing Design Inconsistencies of Polymorphic Methods Using Swarm Intelligence", In e-Informatica Software Engineering Journal, vol. 15, no. 1, pp. 7–27, 2021.
DOI: , 10.37190/e-Inf210101.|
Get article (PDF)View article entry (BibTeX)
Renu George, Philip Samuel
Background: Modern industry is heavily dependent on software. The complexity of designing and developing software is a serious engineering issue. With the growing size of software systems and increase in complexity, inconsistencies arise in software design and intelligent techniques are required to detect and fix inconsistencies.
Aim: Current industrial practice of manually detecting inconsistencies is time consuming, error prone and incomplete. Inconsistencies arising as a result of polymorphic object interactions are hard to trace. We propose an approach to detect and fix inconsistencies in polymorphic method invocations in sequence models.
Method: A novel intelligent approach based on self regulating particle swarm optimization to solve the inconsistency during software system design is presented. Inconsistency handling is modelled as an optimization problem that uses a maximizing fitness function. The proposed approach also identifies the changes required in the design diagrams to fix the inconsistencies.
Result: The method is evaluated on different software design models involving static and dynamic polymorphism and inconsistencies are detected and resolved.
Conclusion: Ensuring consistency of design is highly essential to develop quality software and solves a major design issue for practitioners. In addition, our approach helps to reduce the time and cost of developing software.
UML models, software design inconsistency, polymorphism, particle swarm optimization
1. M. Harman, “The role of artificial intelligence in software engineering,” in First International Workshop on Realizing AI Synergies in Software Engineering (RAISE) . IEEE, 2012, pp. 1–6.
2. M. Harman and B.F. Jones, “Search-based software engineering,” Information and Software Technology , Vol. 43, No. 14, 2001, pp. 833–839.
3. O. Raiha, “A survey on search-based software design,” Computer Science Review , Vol. 4, No. 4, 2010, pp. 203–249.
4. J. Kennedy and R. Eberhart, “Particle swarm optimization,” in Proceedings of IEEE International Conference on Neural Networks . IEEE, 1995, pp. 1942–1948.
5. M.R. Tanweer, S. Suresh, and N. Sundararajan, “Self regulating particle swarm optimization algorithm,” Information Sciences , Vol. 294, 2015, pp. 182–202.
6. P. Stevens and R.J. Pooley, Using UML: Software engineering with objects and components . Pearson Educationr, 2006.
7. R. France and B. Rumpe, “Model-driven development of complex software: A research roadmap,” in Future of Software Engineering . IEEE Computer Society, 2007, pp. 37–54.
8. B. Selic, “The pragmatics of model-driven development,” IEEE Software , Vol. 20, No. 5, 2003, pp. 19–25.
9. C. Pons, L. Olsina, and M. Prieto, “A formal mechanism for assessing polymorphism in object-oriented systems,” in Proceedings of First Asia-Pacific Conference on Quality Software . IEEE, 2000, pp. 53–62.
10. A. Egyed, “Fixing inconsistencies in UML design models,” in 29th International Conference on Software Engineering (ICSE’07) . IEEE, 2007, pp. 292–301.
11. A. Egyed, E. Letier, and A. Finkelstein, “Generating and evaluating choices for fixing inconsistencies in UML design models,” in Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering . IEEE Computer Society, 2008, pp. 99–108.
12. A. Egyed, “Automatically detecting and tracking inconsistencies in software design models,” IEEE Transactions on Software Engineering , Vol. 37, No. 2, 2011, pp. 188–204.
13. Q. Long, Z. Liu, X. Li, and H. Jifeng, “Consistent code generation from UML models,” in Proceedings of the Australian Software Engineering Conference . IEEE, 2005, pp. 23–30.
14. L.C. Briand, Y. Labiche, and L. O’Sullivan, “Impact analysis and change management of UML models,” in Proceedings of the International Conference on Software Maintenance, ICSM 2003 . IEEE, 2003, pp. 256–265.
15. R. Kretschmer, D.E. Khelladi, A. Demuth, R.E. Lopez-Herrejon, and A. Egyed, “From abstract to concrete repairs of model inconsistencies: An automated approach,” in 24th Asia-Pacific Software Engineering Conference (APSEC) . IEEE, 2017, pp. 456–465.
16. A. Rountev, A. Milanova, and B.G. Ryder, “Fragment class analysis for testing of polymorphism in Java software,” IEEE Transactions on Software Engineering , Vol. 30, No. 6, 2004, pp. 372–387.
17. D.K. Saini, “Testing polymorphism in object oriented systems for improving software quality,” ACM SIGSOFT Software Engineering Notes , Vol. 34, No. 4, 2009, pp. 1–5.
18. R. Kaur and J. Sengupta, “Software process models and analysis on failure of software development projects,” arXiv preprint arXiv:1306.1068 , 2013.
19. K.A. Briski, P. Chitale, V. Hamilton, A. Pratt, B. Starr, J. Veroulis, and B. Villard, “Minimizing code defects to improve software quality and lower development costs,” Development Solutions White Paper, IBM , 2008.
20. P. Jalote, “An integrated approach to software engineering,” Springer Science and Business Media , 2012.
21. B. Nuseibeh, S. Easterbrook, and A. Russo, “Making inconsistency respectable in software development,” Journal of Systems and Software , Vol. 58, No. 2, 2001, pp. 171–180.
22. A. Reder and A. Egyed, “Incremental consistency checking for complex design rules and larger model changes,” in International Conference on Model Driven Engineering Languages and Systems . Springer, Berlin, Heidelberg, 2012, pp. 202–218.
23. M.R. Ehrenleitner, A. Demut, and A. Egyed, “Towards model-and-code consistency checking,” in 38th Annual Computer Software and Applications Conference . IEEE, 2014, pp. 85–90.
24. N. Macedo, T. Jorge, and A. Cunha, “A feature-based classification of model repair approaches,” IEEE Transactions on Software Engineering , Vol. 43, No. 7, 2017, pp. 615–640.
25. J.P. Puissant, R.V.D. Straeten, and T. Mens, “A regression planner to resolve design model inconsistencies,” in European Conference on Modelling Foundations and Applications . Springer, Berlin, Heidelberg, 2012, pp. 146–161.
26. F.J. Lucas, F. Molina, and A. Toval, “A systematic review of UML model consistency management,” Information and Software technology , Vol. 51, No. 12, 2009, pp. 1631–1645.
27. D. Kalibatiene, O. Vasilecas, and R. Dubauskaite, “Rule based approach for ensuring consistency in different UML models,” in EuroSymposium on Systems Analysis and Design . Springer, Berlin, Heidelberg, 2013, pp. 1–16.
28. C.F. Borbaand and A.E.A. Da Silva, “Knowledge-based system for the maintenance registration and consistency among UML diagrams,” in Brazilian Symposium on Artificial Intelligence . Springer, Berlin, Heidelberg, 2010, pp. 51–61.
29. D. Torre, Y. Labiche, and M. Genero, “ML consistency rules: A systematic mapping study,” in Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering . Springer, Berlin, Heidelberg, 2014, pp. 1–10.
30. R.J. Ma, N.Y. Yu, and J.Y. Hu, “Application of particle swarm optimization algorithm in the heating system planning problem,” The Scientific World Journal , 2013, pp. 1–11.
31. S. Pandey, L. Wu, S.M. Guru, and R. Buyya, “A particle swarm optimization-based heuristic for scheduling workflow applications in cloud computing environments,” in 24th IEEE International Conference on Advanced Information Networking and Applications . IEEE, 2010, pp. 400–407.
32. D.Y. Sha and H.H. Lin, “A multi-objective PSO for job-shop scheduling problems,” Expert Systems with Applications , Vol. 37, No. 2, 2010, pp. 1065–1070.
33. M. Gong, Q. Cai, X. Chen, and L. Ma, “Complex network clustering by multiobjective discrete particle swarm optimization based on decomposition,” IEEE Transactions on Evolutionary Computation , Vol. 18, No. 1, 2014, pp. 82–97.
34. N.K. Sharma, D.S. Babu, and S.C. Choube, “Application of particle swarm optimization technique for reactive power optimization,” in IEEE-International Conference on Advances in Engineering, Science and Management (ICAESM-2012) . IEEE, 2012, pp. 88–93.
35. P. Sivakumar, S.S. Grace, and R.A. Azeezur, “Investigations on the impacts of uncertain wind power dispersion on power system stability and enhancement through PSO technique,” in International Conference on Energy Efficient Technologies for Sustainability . IEEE, 2013, pp. 1370–1375.
36. F. Li, D. Li, C. Wang, and Z. Wang, “Network signal processing and intrusion detection by a hybrid model of LSSVM and PSO,” in 15th IEEE International Conference on Communication Technology . IEEE, 2013, pp. 11–14.
37. Z. Jun and Z. Kanyu, “A particle swarm optimization approach for optimal design of PID controller for temperature control in HVAC,” in Third International Conference on Measuring Technology and Mechatronics Automation . IEEE, 2011, pp. 230–233.
38. D.K. Saini and Y. Sharma, “Soft computing particle swarm optimization based approach for class responsibility assignment problem,” International Journal of Computer Applications , Vol. 40, No. 12, 2012, pp. 19–24.
39. R. George and P. samuel, “Fixing class design inconsistencies using self regulating particle swarm optimization,” Information and Software Technology , Vol. 99, 2018, pp. 81–92.
40. R. George and P. samuel, “Particle swarm optimization method based consistency checking in UML class and activity diagrams,” in Innovations in Bio-Inspired Computing and Applications . Springer, Cham, 2016, pp. 117–127.
41. R. George and P. Samuel, “Fixing state change inconsistency with self regulating particle swarm optimization,” Soft Computing , Vol. 24, No. 24, 2020, pp. 18937–18952.
42. M. Kessentini, H. Sahraoui, and M. Boukadoua, “Search-based model transformation by example,” Software and Systems Modeling , Vol. 11, No. 2, 2012, pp. 209–226.
43. A. Windisch, S. Wappler, and J. Wegener, “Applying particle swarm optimization to software testing,” in Proceedings of the 9th annual conference on Genetic and evolutionary computation . ACM, 2007, pp. 1121–1128.
44. R. Malhotra and A. Negi, “Reliability modeling using particle swarm optimization,” International Journal of System Assurance Engineering and Management , Vol. 4, No. 3, 2013, pp. 275–283.
45. J.A. Parejo, A. Ruiz-Cortes, S. Lozano, and P. Fernandezi, “Metaheuristic optimization frameworks: A survey and benchmarking,” Soft Computing , Vol. 16, No. 3, 2012, pp. 527–561.
46. S. Milton and H. Schmidt, “Dynamic dispatch in object-oriented languages,” The Australian National University, Canberra, Technical Report TR-CS-94-02, January 1994.
47. E. Ernst and D.H. Lorenz, “Aspects and polymorphism in AspectJ,” in Proceedings of the 2nd International Conference on Aspect-Oriented Software Development . ACM, 2003, pp. 150–157.
48. D. Ancona, S. Drossopoulou, and E. Zucc, “Overloading and inheritance,” in FOOL’ 01 – International. Workshop on Foundations of Object Oriented Languages , 2001.
49. D.P. Friedman, M. Wand, and C.T. Haynes, Essentials of Programming Languages , 2nd ed. Prentice-Hall of India, 2001.
50. R.V. Binder, “Testing object oriented software: A survey,” Software Testing, Verification and Reliability , Vol. 6, No. 3–4, 1996, pp. 125–252.
51. D.P. Rini, S.M. Shamsuddin, and S.S. Yuhaniz, “Particle swarm optimization: technique, system and challenges,” International journal of computer applications , Vol. 14, No. 1, 2011, pp. 19–26.
52. Q. Bai, “Analysis of particle swarm optimization algorithm,” Computer and information science , Vol. 3, No. 1, 2010, pp. 180–184.
53. M. Ferreira, F. Chicano, E. Alba, and J.A. Gomez-Pulido, “Detecting protocol errors using particle swarm optimization with Java pathfinder,” in Proceedings of the High Performance Computing and Simulation Conference (HPCS 08) , 2008, pp. 319–325.
54. D. Floreano and C. Mattiuss, “Bio-inspired artificial intelligence: theories, methods, and technologies,” MIT press, Aug 2008.