Go to page
 

Bibliographic Metadata

Title
User-centered tool design for data-flow analysis / Lisa Nguyen Quang Do ; Advisors: Prof. Dr. Eric Bodden, Prof. Dr. Karim Ali
AuthorNguyen Quang Do, Lisa
ParticipantsBodden, Eric ; Ali, Karim ; Murphy-Hill, Emerson ; Wehrheim, Heike ; Hermann, Ben
PublishedPaderborn, 2019
Edition
Elektronische Ressource
Description1 Online-Ressource (xiv, 150 Seiten) : Diagramme
Institutional NoteUniversität Paderborn, Dissertation, 2019
Annotation
Tag der Verteidigung: 21.10.2019
Defended on2019-10-21
LanguageEnglish
Document TypesDissertation (PhD)
URNurn:nbn:de:hbz:466:2-35780 
DOI10.17619/UNIPB/1-820 
Files
User-centered tool design for data-flow analysis [2.67 mb]
Links
Reference
Classification
Abstract (German)

In den letzten Jahrzehnten sind zunehmend statische Programmanalyse-Tools in der Industrie zum Einsatz gekommen. Allerdings sind sie für User-Experience-Probleme bekannt, wie die hohe Anzahl von Fehlalarmen, langsames Produzieren von Ergebnissen oder für unvollständige Problembeschreibungen. In dieser Arbeit adressieren wir diese Probleme mit Hilfe benutzerzentrierten Designs. Dazu untersuchen wir die Motivation der Nutzer zur Verwendung der Tools. Mit diesem Wissen extrahieren wir Designempfehlungen für die Entwicklung statischer Analysetools. Auf Basis dieser erstellen und bewerten wir im Anschluss neue Protoypen. Zu diesem Zweck konzentrieren wir uns auf zwei Nutzergruppen: die Analysenentwickler, die den Code einer statischen Analyse schreiben, und die Softwareentwickler, die den Code schreiben, welcher von einem Analysetool analysiert wird. Für beide Nutzergruppen berichten wir durch Umfragen über Motivationen und Strategien der Entwickler und präsentieren konkrete Designempfehlungen für statische Analysetools. Nach diesen Designempfehlungen erstellen wir Programmanalyse-Tools, die sich mit den wichtigsten User-Experience-Problemen befassen, die wir in den Umfragen identifizieren: VisuFlow zur Datenvisualisierung, Cheetah für schnellere Ergebnisse und Mudarri zur verbesserten Erklärbarkeit. Durch Nutzerstudien und empirische Auswertungen bewerten wir diese Analysetools und zeigen, dass es diese Tools den Entwicklern ermöglichen, ihre Aufgaben besser zu erfüllen als mit aktuellen Analysetools. Wir argumentieren daher für die Notwnedigkiet von benutzerzentrierteren Ansätzen, um die jahrzehntealten User-Experience-Probleme der statischen Analyse zu lösen. Dabei stellen wir den Benutzer ins Zentrum der Designmethodik, um Programmanalyse-Werkzeuge zu entwickeln, die den Bedürfnissen des Benutzers entsprechen.

Abstract (English)

In the past decades, static analysis tools have been increasingly used in industry. However, they are also known for user-experience issues such as a high number of false positives, a lack of responsiveness, or the poor warning descriptions that they provide. To address user-experience issues in static analysis tools, we apply the user-centered design methodology. We first aim at understanding the users' motivations for using the tools, and derive design recommendations for building static analysis tools. Finally, we prototype and evaluate tools for static analysis following the recommendations. In this thesis, we focus on two groups of users: the analysis developers-who write the code of a static analysis, and the software developers-who write the code that is analyzed by an analysis tool. For both user groups, we report on developer motivations and strategies through surveys, and present concrete design recommendations for static analysis tools. We use those recommendations to build analysis tools, addressing the main user-experience issues we identify in the surveys: VisuFlow for data visualization, Cheetah for responsiveness, and Mudarri for explainability. We evaluated those tools through empirical evaluations and user studies, and showed that they allow developers to perform their tasks better than with current tools. Through this thesis, we motivate the need for more user-centered approaches for addressing decades-old user-experience issues in static analysis, putting the user at the center of the design process in order to create tools that suit their needs.

License
CC-BY-SA-License (4.0)Creative Commons Attribution - ShareAlike 4.0 International License