Zur Kurzanzeige

Automated Static Analysis Tools: A Multidimensional view on Software Quality Evolution

dc.contributor.advisorHerbold, Steffen Prof. Dr.
dc.contributor.authorTrautsch, Alexander
dc.date.accessioned2022-08-31T12:16:51Z
dc.date.available2022-09-07T00:50:14Z
dc.date.issued2022-08-31
dc.identifier.urihttp://resolver.sub.uni-goettingen.de/purl?ediss-11858/14227
dc.identifier.urihttp://dx.doi.org/10.53846/goediss-9425
dc.language.isoengde
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/
dc.subject.ddc510de
dc.titleAutomated Static Analysis Tools: A Multidimensional view on Software Quality Evolutionde
dc.typecumulativeThesisde
dc.contributor.refereeHerbold, Steffen Prof. Dr.
dc.date.examination2022-07-07de
dc.description.abstractengSoftware use is ubiquitous. The quality and the evolution of quality over long periods of time is therefore of notable importance. Software engineering research investigates software quality in multiple areas. One of these areas are predictive models, in which measurements of past changes to the source code or file contents are used to assess the quality of changes, files or even product releases. However, these predictive models have yet to transition from research to practice on a larger scale. In contrast, Automated Static Analysis Tools (ASATs) are used in practice and are also part of several software quality models. ASATs are able to warn developers about parts of the source code that violate best practices or match common defect patterns. One downside of ASATs are false positives, i.e., warnings about parts of the code which are not problematic. Developers have to manually assess the warnings and annotate the code or the ASAT configuration to mitigate this. Within this thesis, we investigate the evolution of software quality with a focus on a general purpose ASAT for Java. Our main objective is to determine if the use of an ASAT can improve software quality, as measured by defects, significantly enough to mitigate additional effort by the developers to use the ASAT. We combine multiple software engineering research techniques and data validation studies to improve the signal-to-noise ratio to increase the validity and stability of our results. We focus on a general purpose ASAT for the Java programming language due to the maturity of the language and the large number of projects available for this language. Both the language and the general purpose ASAT have been available for a long time, which allows us to include longer periods of time for our analyses. We study how the ASAT is applied, how the generated warnings evolve over long time periods, and how it affects the quality of the source code in terms of defects. In addition, we include the perspective of the developers regarding software quality improvement by measuring changes when developers intend to improve the quality of the source code. Our studies yield surprising insights. While our results show that ASATs have a positive impact on software quality, the magnitude of the impact is much smaller than expected. Moreover, we can show that corrective changes are the main driver of complexity in software projects. They introduce more complexity than feature additions or any other type of maintenance. In addition, we find that software quality estimation models benefit more from size and complexity metrics than static analysis warnings of an ASAT. Our study of developer intents to increase software quality mirrors this result.de
dc.contributor.coRefereeLinares-Vásquez, Mario Prof. PhD
dc.contributor.thirdRefereeGrabowski, Jens Prof. Dr.
dc.subject.engSoftware Quality Evolutionde
dc.identifier.urnurn:nbn:de:gbv:7-ediss-14227-8
dc.affiliation.instituteFakultät für Mathematik und Informatikde
dc.subject.gokfullInformatik (PPN619939052)de
dc.description.embargoed2022-09-07de
dc.identifier.ppn1815664614
dc.notes.confirmationsentConfirmation sent 2022-08-31T12:45:01de


Dateien

Thumbnail

Das Dokument erscheint in:

Zur Kurzanzeige