Quality software usually means high reliability, which in turn has two main components; the software should provide correctness, which means it should perform the specified task, and robustness in the sense that it should be able to manage unexpected situations. In other words, reliable systems are systems without bugs. Because of this, testing and debugging are recurrent and resource expensive tasks in software development, notably in large software systems. This thesis investigate the potential of using unsupervised machine learning on Ericsson bug reports to avoid unnecessary debugging by identifying duplicate bug reports. The bug report data that is considered are crash dumps from software crashes. The data is clustered using the clustering algorithms k-modes, k-prototypes and expectation maximization where-after the generated clusters are used to assign new incoming bug reports to the previously generated clusters, thus indicating whether an old bug report is similar to the newly submitted one. Due to the dataset only being partially labeled both internal and external validity indices are applied to evaluate the clustering. The results indicate that many, small clusters can be identified using the applied method. However, for the results to have high validity the methods could be applied on a larger data set. / Mjukvara av hög kvalitet innebär ofta hög tillförlitlighet, vilket i sin tur har två huvudkomponenter; mjukvaran bör vara korrekt, den ska alltså uppfylla dom specifierade kraven, och dessutom robust vilket innebär att den ska kunna hantera oväntade situationer. Med andra ord, tillförlitliga system är system utan buggar. På grund av detta är testning och felsökning återkommande och resurskrävande uppgifter inom mjukvaruutveckling, i synnerhet för stora mjukvarusystem. Detta arbete utforskar vilken potential oövervakad maskininlärning på Ericssons felrapporter har för att undvika onödig felsökning genom att identifiera felrapporter som är dubletter. Felrapporterna som används i detta arbete innehåller data som sparats i minnet vid en mjukvarukrasch. Data klustras sedan med klustringsalgoritmerna k-modes, k-prototypes och expectation maximization varpå dom genererade klustren används för att tilldela nya inkommande felrapporter till de tidigare generade klustren, för att på så sätt kunna identifiera om en gammal felrapport är lik en ny felrapport. Då de felrapporter som behandlas endast till viss del redan är märkta som dubletter används både externa och interna valideringsmått för att utvärdera klustringen. Resultaten tyder på att många, små kluster kunde identifieras med de använda metoderna. Dock skulle metoderna behöva appliceras på ett dataset med större antal felrapporter för att resultaten ska få hög validitet.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-311984 |
Date | January 2021 |
Creators | Vestergren, Sara |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2021:943 |
Page generated in 0.0024 seconds