dc.contributor.advisor | Herbold, Steffen Prof. Dr. | |
dc.contributor.author | Trautsch, Alexander | |
dc.date.accessioned | 2022-08-31T12:16:51Z | |
dc.date.available | 2022-09-07T00:50:14Z | |
dc.date.issued | 2022-08-31 | |
dc.identifier.uri | http://resolver.sub.uni-goettingen.de/purl?ediss-11858/14227 | |
dc.identifier.uri | http://dx.doi.org/10.53846/goediss-9425 | |
dc.language.iso | eng | de |
dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | |
dc.subject.ddc | 510 | de |
dc.title | Automated Static Analysis Tools: A Multidimensional view on Software Quality Evolution | de |
dc.type | cumulativeThesis | de |
dc.contributor.referee | Herbold, Steffen Prof. Dr. | |
dc.date.examination | 2022-07-07 | de |
dc.description.abstracteng | Software 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.coReferee | Linares-Vásquez, Mario Prof. PhD | |
dc.contributor.thirdReferee | Grabowski, Jens Prof. Dr. | |
dc.subject.eng | Software Quality Evolution | de |
dc.identifier.urn | urn:nbn:de:gbv:7-ediss-14227-8 | |
dc.affiliation.institute | Fakultät für Mathematik und Informatik | de |
dc.subject.gokfull | Informatik (PPN619939052) | de |
dc.description.embargoed | 2022-09-07 | de |
dc.identifier.ppn | 1815664614 | |
dc.notes.confirmationsent | Confirmation sent 2022-08-31T12:45:01 | de |