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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Nelly Bencomo, Robert France, Betty H. C. Cheng, and Uwe Aßmann (Eds.). 2014. [email protected]. Foundations, Applications, and Roadmaps. Springer International Publishing.Google Scholar
- Gordon Blair, Nelly Bencomo, and Robert B. France. 2009. Models@ Run-Time. Computer 42, 10 (Oct. 2009), 22--27. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Shahar Maoz and David Harel. 2011. On tracing reactive systems. Software & Systems Modeling 10, 4 (01 Oct 2011), 447--468. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Geoffrey Neumann, Mark Harman, and Simon Poulding. 2015. Transformed Vargha-Delaney Effect Size. Springer International Publishing, 318--324.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Gerard Salton and Michael J. McGill. 1986. Introduction to Modern Information Retrieval. McGraw-Hill, Inc., New York, NY, USA. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- Evolutionary Algorithm for Bug Localization in the Reconfigurations of Models at Runtime
Recommendations
Bug localization via searching crowd-contributed code
Internetware '14: Proceedings of the 6th Asia-Pacific Symposium on InternetwareBug localization, i.e., locating bugs in code snippets, is a frequent task in software development. Although static bug-finding tools are available to reduce manual effort in bug localization, these tools typically detect bugs with known project-...
Potential biases in bug localization: do they matter?
ASE '14: Proceedings of the 29th ACM/IEEE International Conference on Automated Software EngineeringIssue tracking systems are valuable resources during software maintenance activities and contain information about the issues faced during the development of a project as well as after its release. Many projects receive many reports of bugs and it is ...
BugLocalizer: integrated tool support for bug localization
FSE 2014: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software EngineeringTo manage bugs that appear in a software, developers often make use of a bug tracking system such as Bugzilla. Users can report bugs that they encounter in such a system. Whenever a user reports a new bug report, developers need to read the summary and ...
Comments