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.
Titelaufnahme
- TitelUser-centered tool design for data-flow analysis / Lisa Nguyen Quang Do ; Advisors: Prof. Dr. Eric Bodden, Prof. Dr. Karim Ali
- Autor
- Beteiligte
- Erschienen
- Umfang1 Online-Ressource (xiv, 150 Seiten) : Diagramme
- HochschulschriftUniversität Paderborn, Dissertation, 2019
- AnmerkungTag der Verteidigung: 21.10.2019
- Verteidigung2019-10-21
- SpracheEnglisch
- DokumenttypDissertation
- URN
- DOI
- Social MediaShare
- Nachweis
- IIIF
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.
- Das PDF-Dokument wurde 123 mal heruntergeladen.