Abstract
Software has made a profound influence in all walks of life. Developing quality software is a major challenge, and the consistency and completeness of the design has a prime role in the development of quality software. Many a times, the process of consistency checking in industries is manual. Artificial intelligence techniques can replace many of these manual efforts to make the development of software easier and cost-effective. Software developers use state diagrams to represent the dynamic behavior in the design stage. We propose a novel application of self regulating particle swarm optimization (SRPSO) algorithm to ensure consistency of state diagrams during the design phase of software development. Inconsistency management is modeled as an optimization problem. In this work, we detect two types of state change inconsistency, incompatible behavior inconsistency and disconnected model inconsistency. A fitness function is defined to detect inconsistency. We make use of the SRPSO algorithm to resolve inconsistency. Detecting inconsistencies in the early stages of software development enables phase containment of errors and prevents errors from being propagated to the code. The proposed approach generates consistent and complete state diagrams leading to accurate code generation, meeting time deadlines, reducing cost of production and easy system maintenance.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Agarwal K, Srivastava G (2010) Towards software test data generation using discrete quantum particle swarm optimization. In: Proceedings of the 3rd India software engineering conference. ACM, pp 65–68
Bansal JC, Singh PK, Saraswat M, Verma A, Jadon SS, Abraham A (2011) Inertia weight strategies in particle swarm optimization. In: Third World Congress on nature and biologically inspired computing (NaBIC). IEEE, pp 633–640
Bardsiri VK, Jawawi DNA, Hashim SZM, Khatibi E (2013) A PSO-based model to increase the accuracy of software development effort estimation. Softw Qual J 21(3):501–526
Blondin J (2009) Particle swarm optimization: a tutorial. http://cs.armstrong.edu/saad/csci8100/pso tutorial.pdf. Accessed 26 Apr 2018
Bowman M, Briand LC, Labiche Y (2010) Solving the class responsibility assignment problem in object-oriented analysis with multi-objective genetic algorithms. IEEE Trans Softw Eng 36(6):817–837
Boyd J (2017) The Mt. Gox Bitcoin debacle: an update. https://spectrum.ieee.org/tech-talk/computing/networks/the-mt-gox-bitcoin-debacle-an-update. Accessed 07 Mar 2019
Briski KA, Chitale P, Hamilton V, Pratt A (2008) Minimizing code defects to improve software quality and lower development costs. Development Solution White Paper IBM
Charette RN (2014) Nissan recalls nearly 1 million cars for air bag software fix. https://spectrum.ieee.org/riskfactor/transportation/safety/nissan-recalls-nearly-1-million-cars-for-airbag-software-fix. Accessed 07 Mar 2019
Charette RN (2018) The biggest IT failures of 2018. https://spectrum.ieee.org/riskfactor/computing/it/it-failures-2018-all-the-old-familiar-faces#qaTopicThree. Accessed 07 Mar 2019
Ding R, Feng X, Li S, Dong H (2012) Automatic generation of software test data based on hybrid particle swarm genetic algorithm. In: 2012 IEEE Symposium on electrical and electronics engineering (EEESYM). IEEE, pp 670–673
Diskin Z, Xiong Y, Czarnecki K (2010) Specifying overlaps of heterogeneous models for global consistency checking. In: Proceedings of the first international workshop on model-driven interoperability. ACM
Eberhart RC, Shi Y (2000) Comparing inertia weights and constriction factors in particle swarm optimization. In: Proceedings of the 2000 Congress on evolutionary computation, pp 84–88
Eberhart RC, Shi Y (2001) Particle swarm optimization: developments, applications and resources. In: Evolutionary computation, proceedings of the 2001 Congress, vol 1, pp 81–86
Egyed A (2006) Instant consistency checking for the UML. In: Proceedings of the 28th international conference on software engineering. ACM, pp 381–390
Egyed A (2011) Automatically detecting and tracking inconsistencies in software design models. IEEE Trans Softw Eng 37(2):188–204
Engels G, Hausmann JH, Heckel R, Sauer S (2002) Testing the consistency of dynamic UML diagrams. In: Proceedings of sixth international conference on integrated design and process technology (IDPT 2002), pp 1–9
France R, Rumpe B (2007) Model-driven development of complex software: a research roadmap. In: Future of software engineering. IEEE Computer Society, pp 37–54
George R, Samuel P (2016) Particle swarm optimization method based consistency checking in UML class and activity diagrams. In: Innovations in bio-inspired computing and applications. Springer International Publishing, Cham, pp 117–127
George R, Samuel P (2018) Fixing class design inconsistencies using self regulating particle swarm optimization. Inf Softw Technol 99:81–92
Glavaš G, Fertalj K (2011) Solving the class responsibility assignment problem using metaheuristic approach. J Comput Inf Technol 19(4):275–283
Jalote P (2012) An integrated approach to software engineering. Springer, Berlin
Janson S, Middendorf MA (2005) A hierarchical particle swarm optimizer and its adaptive variant. IEEE Trans Syst Man Cybern Part B (Cybern) 35(6):1272–1282
Jia YH, Chen WN, Hu XM (2014) A PSO approach for software project planning. In: Proceedings of the companion publication of the 2014 annual conference on genetic and evolutionary computation. ACM, pp 7–8
Kessentini M, Sahraoui H, Boukadoum M et al (2012) Search-based model transformation by example. Softw Syst Model 11(2):209–226
Khan AH, Porres I (2015) Consistency of UML class, object and statechart diagrams using ontology reasoners. J Vis Lang Comput 26:42–65
Lam VSW, Padget J (2005) Consistency checking of sequence diagrams and statechart diagrams using the π-calculus. In: International conference on integrated formal methods. Springer, Berlin
Lange CFJ, Chaudron MRV, Muskens J (2006) In practice: UML software architecture and design description. IEEE Softw 23(2):40–46
Li A, Zhang Y (2009) Automatic generating all-path test data of a program based on PSO. In: 2009 WRI World Congress on software engineering, vol 4. IEEE, pp 189–193
Nugroho A, Chaudron MRV (2008) Managing the quality of UML models in practice. In: Rech J, Bunse C (eds) Model-Driven software development: integrating quality assurance. Idea Group Inc., pp 1–36
Nuseibeh B, Easterbrook S, Russo A (2001) Making inconsistency respectable in software development. J Syst Softw 58(2):171–180
Oshana R, Kraeling M (2013) Software engineering for embedded systems: methods, practical techniques, and applications. Newnes, London
Paige RF, Ostroff JS, Brooke PJ (2003) A test-based agile approach to checking the consistency of class and collaboration diagrams. In: Proceedings of UK software testing research workshop
Parejo JA, Ruiz-Cortés A, Lozano S et al (2012) Metaheuristic optimization frameworks: a survey and benchmarking. Soft Comput 16(3):527–561
Petre M (2013) UML in practice. In: Proceedings of the 2013 international conference on software engineering. IEEE Press, pp 722–731
Poli R (2008) Analysis of the publications on the applications of particle swarm optimisation. J Artif Evol Appl 2008:1–10
Przigoda N, Wille R, Drechsler R (2016) Analyzing inconsistencies in UML/OCL models. J Circuits Syst Comput 25(03):1640021-1–1640021-21
Saini DK, Sharma Y (2012) Soft computing particle swarm optimization based approach for class responsibility assignment problem. Int J Comput Appl 40(12):19–24
Selic B (2003) The pragmatics of model-driven development. IEEE Softw 20(5):19–25
Shi Y, Eberhart RC (1999) Empirical study of particle swarm optimization. In: Proceedings of the 1999 Congress on evolutionary computation CEC 99. IEEE, pp 1945–1950
Simmonds J, Van Der Straeten R, Jonckers V, Mens T (2004) Maintaining consistency between UML models using description logic. L’OBJET 10(2–3):231–244
Spanoudakis G, Zisman A (2001) Inconsistency management in software engineering: Survey and open research issues. In: Handbook of software engineering and knowledge engineering, vol 1: Fundamentals, pp 329–380
Tanweer MR, Suresh S, Sundararajan N (2015) Self regulating particle swarm optimization algorithm. Inf Sci 294:182–202
Van Der Straeten R, Mens T, Simmonds J, Jonckers V (2003) Using description logic to maintain consistency between UML models. In: Stevens P, Whittle J, Booch G (eds) UML 2003, LNCS, vol 2863. Springer, Heidelberg, pp 326–340
Wang H, Feng T, Zhang J, Zhang K (2005) Consistency check between behaviour models. In: IEEE International symposium on communications and information technology ISCIT 2005, vol 1. IEEE, pp 486–489
Windisch A, Wappler S, Wegener J (2007) Applying particle swarm optimization to software testing. In: Proceedings of the 9th annual conference on genetic and evolutionary computation. ACM, pp 1121–1128
Yao S, Shatz SM (2006) Consistency checking of UML dynamic models based on petri net techniques. In: 15th International conference on computing, CIC’06. IEEE, pp 289–297
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest regarding the publication of this paper.
Ethical approval
This article does not contain any studies with human participants or animals performed by any of the authors.
Additional information
Communicated by V. Loia.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
George, R., Samuel, P. Fixing state change inconsistency with self regulating particle swarm optimization. Soft Comput 24, 18937–18952 (2020). https://doi.org/10.1007/s00500-020-05124-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-020-05124-y