Quality-Aware Tooling

Tymchuk, Yuriy (2017). Quality-Aware Tooling. (Dissertation, University of Bern)

[img]
Preview
Text
tymchuk-phd.pdf - Published Version
Available under License Creative Commons: Attribution-Share Alike (CC-BY-SA).

Download (13MB) | Preview

Programming is a fascinating activity that can yield results capable of changing people lives by automating daily tasks or even completely reimagining how we perform certain activities. Such a great power comes with a handful of challenges, with software maintainability being one of them. Maintainability cannot be validated by executing the program but has to be assessed by analyzing the codebase. This tedious task can be also automated by the means of software development. Programs called static analyzers can process source code and try to detect suspicious patterns. While these programs were proven to be useful, there is also an evidence that they are not used in practice. In this dissertation we discuss the concept of quality-aware tooling —- an approach that seeks a promotion of static analysis by seamlessly integrating it into development tools. We describe our experience of applying quality-aware tooling on a core distribution of a development environment. Our main focus is to provide live quality feedback in the code editor, but we also integrate static analysis into other tools based on our code quality model. We analyzed the attitude of the developers towards the integrated static analysis and assessed the impact of the integration on the development ecosystem. As a result 90% of software developers find the live feedback useful, quality rules received an overhaul to better match the contemporary development practices, and some developers even experimented with a custom analysis implementations. We discovered that live feedback helped developers to avoid dangerous mistakes, saved time, and taught valuable concepts. But most importantly we changed the developers' attitude towards static analysis from viewing it as just another tool to seeing it as an integral part of their toolset.

Item Type:

Thesis (Dissertation)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)

UniBE Contributor:

Tymchuk, Yuriy and Nierstrasz, Oscar Marius

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

Language:

English

Submitter:

Oscar Marius Nierstrasz-Margiotta

Date Deposited:

09 Apr 2018 09:59

Last Modified:

11 Apr 2018 10:56

Uncontrolled Keywords:

scg-phd, snf-asa2, scg17, jb18, tymchuk

BORIS DOI:

10.7892/boris.113151

URI:

https://boris.unibe.ch/id/eprint/113151

Actions (login required)

Edit item Edit item
Provide Feedback