liu.seSök publikationer i DiVA
Ändra sökning
Länk till posten
Permanent länk

Direktlänk
Jonsson, Leif
Publikationer (2 of 2) Visa alla publikationer
Jonsson, L. (2018). Machine Learning-Based Bug Handling in Large-Scale Software Development. (Doctoral dissertation). Linköping: Linköping University Electronic Press
Öppna denna publikation i ny flik eller fönster >>Machine Learning-Based Bug Handling in Large-Scale Software Development
2018 (Engelska)Doktorsavhandling, sammanläggning (Övrigt vetenskapligt)
Abstract [en]

This thesis investigates the possibilities of automating parts of the bug handling process in large-scale software development organizations. The bug handling process is a large part of the mostly manual, and very costly, maintenance of software systems. Automating parts of this time consuming and very laborious process could save large amounts of time and effort wasted on dealing with bug reports. In this thesis we focus on two aspects of the bug handling process, bug assignment and fault localization. Bug assignment is the process of assigning a newly registered bug report to a design team or developer. Fault localization is the process of finding where in a software architecture the fault causing the bug report should be solved. The main reason these tasks are not automated is that they are considered hard to automate, requiring human expertise and creativity. This thesis examines the possi- bility of using machine learning techniques for automating at least parts of these processes. We call these automated techniques Automated Bug Assignment (ABA) and Automatic Fault Localization (AFL), respectively. We treat both of these problems as classification problems. In ABA, the classes are the design teams in the development organization. In AFL, the classes consist of the software components in the software architecture. We focus on a high level fault localization that it is suitable to integrate into the initial support flow of large software development organizations.

The thesis consists of six papers that investigate different aspects of the AFL and ABA problems. The first two papers are empirical and exploratory in nature, examining the ABA problem using existing machine learning techniques but introducing ensembles into the ABA context. In the first paper we show that, like in many other contexts, ensembles such as the stacked generalizer (or stacking) improves classification accuracy compared to individual classifiers when evaluated using cross fold validation. The second paper thor- oughly explore many aspects such as training set size, age of bug reports and different types of evaluation of the ABA problem in the context of stacking. The second paper also expands upon the first paper in that the number of industry bug reports, roughly 50,000, from two large-scale industry software development contexts. It is still as far as we are aware, the largest study on real industry data on this topic to this date. The third and sixth papers, are theoretical, improving inference in a now classic machine learning tech- nique for topic modeling called Latent Dirichlet Allocation (LDA). We show that, unlike the currently dominating approximate approaches, we can do parallel inference in the LDA model with a mathematically correct algorithm, without sacrificing efficiency or speed. The approaches are evaluated on standard research datasets, measuring various aspects such as sampling efficiency and execution time. Paper four, also theoretical, then builds upon the LDA model and introduces a novel supervised Bayesian classification model that we call DOLDA. The DOLDA model deals with both textual content and, structured numeric, and nominal inputs in the same model. The approach is evaluated on a new data set extracted from IMDb which have the structure of containing both nominal and textual data. The model is evaluated using two approaches. First, by accuracy, using cross fold validation. Second, by comparing the simplicity of the final model with that of other approaches. In paper five we empirically study the performance, in terms of prediction accuracy, of the DOLDA model applied to the AFL problem. The DOLDA model was designed with the AFL problem in mind, since it has the exact structure of a mix of nominal and numeric inputs in combination with unstructured text. We show that our DOLDA model exhibits many nice properties, among others, interpretability, that the research community has iden- tified as missing in current models for AFL.

Ort, förlag, år, upplaga, sidor
Linköping: Linköping University Electronic Press, 2018. s. 120
Serie
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 1936
Nyckelord
machine learning, bug reports, large scale software development
Nationell ämneskategori
Teknik och teknologier Programvaruteknik
Identifikatorer
urn:nbn:se:liu:diva-147059 (URN)10.3384/diss.diva-147059 (DOI)9789176853061 (ISBN)
Disputation
2018-06-12, Ada Lovelace, Hus B, Campus Valla, Linköping, 13:15 (Engelska)
Opponent
Handledare
Tillgänglig från: 2018-05-17 Skapad: 2018-05-17 Senast uppdaterad: 2026-01-23Bibliografiskt granskad
Jonsson, L., Borg, M., Broman, D., Sandahl, K., Eldh, S. & Runeson, P. (2016). Automated bug assignment: Ensemble-based machine learning in large scale industrial contexts. Empirical Software Engineering, 21(4), 1533-1578
Öppna denna publikation i ny flik eller fönster >>Automated bug assignment: Ensemble-based machine learning in large scale industrial contexts
Visa övriga...
2016 (Engelska)Ingår i: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 21, nr 4, s. 1533-1578Artikel i tidskrift (Refereegranskat) Published
Abstract [en]

Bug report assignment is an important part of software maintenance. In particular, incorrect assignments of bug reports to development teams can be very expensive in large software development projects. Several studies propose automating bug assignment techniques using machine learning in open source software contexts, but no study exists for large-scale proprietary projects in industry. The goal of this study is to evaluate automated bug assignment techniques that are based on machine learning classification. In particular, we study the state-of-the-art ensemble learner Stacked Generalization (SG) that combines several classifiers. We collect more than 50,000 bug reports from five development projects from two companies in different domains. We implement automated bug assignment and evaluate the performance in a set of controlled experiments. We show that SG scales to large scale industrial application and that it outperforms the use of individual classifiers for bug assignment, reaching prediction accuracies from 50 % to 89 % when large training sets are used. In addition, we show how old training data can decrease the prediction accuracy of bug assignment. We advice industry to use SG for bug assignment in proprietary contexts, using at least 2,000 bug reports for training. Finally, we highlight the importance of not solely relying on results from cross-validation when evaluating automated bug assignment.

Ort, förlag, år, upplaga, sidor
SPRINGER, 2016
Nyckelord
Machine learning; Ensemble learning; Classification; Bug reports; Bug assignment; Industrial scale; Large scale
Nationell ämneskategori
Programvaruteknik
Identifikatorer
urn:nbn:se:liu:diva-130374 (URN)10.1007/s10664-015-9401-9 (DOI)000379060700004 ()
Anmärkning

Funding Agencies|Industrial Excellence Center EASE Embedded Applications Software Engineering

Tillgänglig från: 2016-08-15 Skapad: 2016-08-05 Senast uppdaterad: 2022-09-15
Organisationer

Sök vidare i DiVA

Visa alla publikationer