skip to main content
10.1145/3239372.3239392acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

Evolutionary Algorithm for Bug Localization in the Reconfigurations of Models at Runtime

Authors Info & Claims
Published:14 October 2018Publication History

ABSTRACT

Systems with models at runtime are becoming increasingly complex, and this is also accompanied by more software bugs. In this paper, we focus on bugs appearing as the result of dynamic reconfigurations of the system due to context changes. We materialize our approach for bug localization in reconfigurations as an evolutionary algorithm. We guide the evolutionary algorithm with a fitness function that measures the similarity to the description of the bug report. The result is a ranked list of reconfiguration sequences, which is intended to identify the reconfiguration rules that are relevant to the bug. We evaluated our approach in BSH and CAF, two real-world industrial case studies, measuring the results in terms of recall, precision, F-measure and Matthews Correlation Coefficient (MCC). In our evaluation, we compare our approach with two other approaches: a baseline that is the one used by our industrial partners for bug localization and a random search as sanity check. Our study shows that our approach, which takes advantage of the reconfigurations of models at runtime, outperforms the other two approaches. We also performed a statistical analysis to provide evidence of the significance of the results.

References

  1. S. S. Andrade and R. J. de A Macêdo. 2013. Toward Systematic Conveying of Architecture Design Knowledge for Self-Adaptive Systems. In 2013 IEEE 7th International Conference on Self-Adaptation and Self-Organizing Systems Workshops. 23--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. 2012. CoMA: Conformance Monitoring of Java Programs by Abstract State Machines. In Proceedings of the Second International Conference on Runtime Verification (RV'11). Springer-Verlag, 223--238. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Lorena Arcega, Jaime Font, Øystein Haugen, and Carlos Cetina. 2017. On the Influence of Modification Timespan Weightings in the Location of Bugs in Models. In Proceedings of the 26th International Conference on Information Systems Development, ISD 2017, Larnaca, Cyprus, September 6-8, 2017.Google ScholarGoogle Scholar
  4. Andrea Arcuri and Lionel Briand. 2014. A Hitchhiker's Guide to Statistical Tests for Assessing Randomized Algorithms in Software Engineering. Softw. Test. Verif. Reliab. 24, 3 (May 2014), 219--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. James E. Baker. 1987. Reducing Bias and Inefficiency in the Selection Algorithm. In Proceedings of the Second International Conference on Genetic Algorithms on Genetic Algorithms and Their Application. L. Erlbaum Associates Inc., 14--21. http://dl.acm.org/citation.cfm?id=42512.42515 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Nelly Bencomo, Robert France, Betty H. C. Cheng, and Uwe Aßmann (Eds.). 2014. [email protected]. Foundations, Applications, and Roadmaps. Springer International Publishing.Google ScholarGoogle Scholar
  7. Gordon Blair, Nelly Bencomo, and Robert B. France. 2009. Models@ Run-Time. Computer 42, 10 (Oct. 2009), 22--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Sabri Boughorbel, Fethi Jarray, and Mohammed El-Anbari. 2017. Optimal classifier for imbalanced data using Matthews Correlation Coefficient metric. PLOS ONE 12, 6 (06 2017), 1--17.Google ScholarGoogle Scholar
  9. Ilhem Boussaïd, Patrick Siarry, and Mohamed Ahmed-Nacer. 2017. A survey on search-based model-driven engineering. Automated Software Engineering 24, 2 (01 Jun 2017), 233--294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Paulo Casanova, Bradley Schmerl, David Garlan, and Rui Abreu. 2011. Architecture-based Run-time Fault Diagnosis. In Proceedings of the 5th European Conference on Software Architecture (ECSA' 11). Springer-Verlag, 261--277. http://dl.acm.org/citation.cfm?id=2041790.2041827 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Márcio de Oliveira Barros and Arilo Cláudio Dias-Neto. 2011. 0006/2011-Threats to Validity in Search-based Software Engineering Empirical Studies. RelaTe-DIA 5, 1 (2011).Google ScholarGoogle Scholar
  12. Ilenia Epifani, Carlo Ghezzi, Raffaela Mirandola, and Giordano Tamburrelli. 2009. Model Evolution by Runtime Parameter Adaptation. In Proceedings of the 31st International Conference on Software Engineering (ICSE' 09). IEEE Computer Society, 111--121. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Jaime Font, Lorena Arcega, Øystein Haugen, and Carlos Cetina. 2016. Feature Location in model-based Software Product Lines through a Genetic Algorithm. In 15th International Conference on Software Reuse (ICSR 2016). Limassol, Cyprus. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Jaime Font, Lorena Arcega, Øystein Haugen, and Carlos Cetina. 2016. Feature Location in Models Through a Genetic Algorithm Driven by Information Retrieval Techniques. In Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS '16). ACM, 272--282. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Salvador García, Alberto Fernández, Julián Luengo, and Francisco Herrera. 2010. Advanced nonparametric tests for multiple comparisons in the design of experiments in computational intelligence and data mining: Experimental analysis of power. Information Sciences 180, 10 (2010), 2044 -- 2064. Special Issue on Intelligent Distributed Information Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Carlo Ghezzi, Andrea Mocci, and Mario Sangiorgio. 2012. Runtime Monitoring of Functional Component Changes with Behavior Models. In Proceedings of the 2011th International Conference on Models in Software Engineering (MODELS'11). Springer-Verlag, 152--166. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Harman, Y.Jia, J. Krinke, W. B. Langdon, J. Petke, and Y. Zhang. 2014. Search Based Software Engineering for Software Product Line Engineering: A Survey and Directions for Future Work. In Proceedings of the 18th International Software Product Line Conference - Volume 1 (SPLC '14). ACM, 5--18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Thomas K Landauer, Peter W. Foltz, and Darrell Laham. 1998. An introduction to latent semantic analysis. Discourse Processes 25, 2-3 (1998), 259--284.Google ScholarGoogle ScholarCross RefCross Ref
  19. Meir M Lehman, JF Ramil, and Goel Kahen. 2001. A paradigm for the behavioural modelling of software processes using system dynamics. Technical Report. Imperial College of Science, Technology and Medicine, Department of Computing.Google ScholarGoogle Scholar
  20. Dapeng Liu, Andrian Marcus, Denys Poshyvanyk, and Vaclav Rajlich. 2007. Feature Location via Information Retrieval Based Filtering of a Single Scenario Execution Trace. In Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering (ASE 07). ACM, 234--243. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Roberto E. Lopez-Herrejon, Javier Ferrer, Francisco Chicano, Lukas Linsbauer, Alexander Egyed, and Enrique Alba. 2014. A Hitchhiker's Guide to Search-Based Software Engineering for Software Product Lines. CoRR abs/1406.2823 (2014).Google ScholarGoogle Scholar
  22. Roberto E. Lopez-Herrejon, Lukas Linsbauer, José A. Galindo, José A. Parejo, David Benavides, Sergio Segura, and Alexander Egyed. 2015. An assessment of search-based techniques for reverse engineering feature models. Journal of Systems and Software 103 (2015), 353 -- 369. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Usman Mansoor, Marouane Kessentini, Philip Langer, Manuel Wimmer, Slim Bechikh, and Kalyanmoy Deb. 2015. MOMM: Multi-objective model merging. Journal of Systems and Software 103 (2015), 423 -- 439. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Shahar Maoz and David Harel. 2011. On tracing reactive systems. Software & Systems Modeling 10, 4 (01 Oct 2011), 447--468. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. A. Marcus, A. Sergeyev, V. Rajlich, and J.I. Maletic. 2004. An information retrieval approach to concept location in source code. In Proceedings of the 11th Working Conference on Reverse Engineering. 214--223. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Philip K. McKinley, Betty H. C. Cheng, Andres J. Ramirez, and Adam C. Jensen. 2012. Applying evolutionary computation to mitigate uncertainty in dynamically-adaptive, high-assurance middleware. Journal of Internet Services and Applications 3, 1 (01 May 2012), 51--58.Google ScholarGoogle ScholarCross RefCross Ref
  27. O. Moser, F. Rosenberg, and S. Dustdar. 2012. Domain-Specific Service Selection for Composite Services. IEEE Transactions on Software Engineering 38, 4 (July 2012), 828--843. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Geoffrey Neumann, Mark Harman, and Simon Poulding. 2015. Transformed Vargha-Delaney Effect Size. Springer International Publishing, 318--324.Google ScholarGoogle Scholar
  29. A. Panichella, B. Dit, R. Oliveto, M. D. Penta, D. Poshyvanyk, and A. D. Lucia. 2016. Parameterizing and Assembling IR-Based Solutions for SE Tasks Using Genetic Algorithms. In 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), Vol. 1. 314--325.Google ScholarGoogle Scholar
  30. Denys Poshyvanyk, Yann-Gael Gueheneuc, Andrian Marcus, Giuliano Antoniol, and Vaclav Rajlich. 2007. Feature Location Using Probabilistic Ranking of Methods Based on Execution Scenarios and Information Retrieval. IEEE Transactions on Software Engineering 33, 6 (June 2007), 420--432. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. D. M. W. Powers. 2011. Evaluation: From precision, recall and f-measure to roc., informedness, markedness & correlation. Journal of Machine Learning Technologies 2, 1 (2011), 37--63.Google ScholarGoogle ScholarCross RefCross Ref
  32. M. Revelle, B. Dit, and D. Poshyvanyk. 2010. Using Data Fusion and Web Mining to Support Feature Location in Software. In IEEE 18th International Conference on Program Comprehension (ICPC). 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Gerard Salton and Michael J. McGill. 1986. Introduction to Modern Information Retrieval. McGraw-Hill, Inc., New York, NY, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Daniel Schneider and Mario Trapp. 2013. Conditional Safety Certification of Open Adaptive Systems. ACM Trans. Auton. Adapt. Syst. 8, 2, Article 8 (July 2013), 20 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Hui Song, Michael Gallagher, and Siobhán Clarke. 2012. Rapid GUI Development on Legacy Systems: A Runtime Model-based Solution. In Proceedings of the 7th Workshop on [email protected] (MRT '12). ACM, 25--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Michael Szvetits and Uwe Zdun. 2016. Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime. Software & Systems Modeling 15, 1 (01 Feb 2016), 31--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. András Vargha and Harold D. Delaney. 2000. A Critique and Improvement of the CL Common Language Effect Size Statistics of McGraw and Wong. Journal of Educational and Behavioral Statistics 25, 2 (2000), 101--132.Google ScholarGoogle Scholar
  38. Thomas Vogel and Holger Giese. 2010. Adaptation and Abstract Runtime Models. In Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS '10). ACM, 39--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. James R. Williams, Simon M. Poulding, Richard F. Paige, and Fiona Polack. 2013. Exploring the Use of Metaheuristic Search to Infer Models of Dynamic System Behaviour. 76--88.Google ScholarGoogle Scholar
  40. W. E. Wong, R. Gao, Y. Li, R. Abreu, and F. Wotawa. 2016. A Survey on Software Fault Localization. IEEE Transactions on Software Engineering 42, 8 (Aug 2016), 707--740. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Evolutionary Algorithm for Bug Localization in the Reconfigurations of Models at Runtime

      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
      • Published in

        cover image ACM Conferences
        MODELS '18: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems
        October 2018
        478 pages
        ISBN:9781450349499
        DOI:10.1145/3239372

        Copyright © 2018 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 14 October 2018

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited

        Acceptance Rates

        MODELS '18 Paper Acceptance Rate29of101submissions,29%Overall Acceptance Rate118of382submissions,31%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader