Go to content
SV På svenska

ADAPT: Adaptive Developer Tools

Reference number
FFL18-0231
Project leader
Söderberg, Emma
Start and end dates
200401-260331
Amount granted
12 000 000 SEK
Administrative organization
Lund University
Research area
Information, Communication and Systems Technology

Summary

Our society relies heavily on software, and working software is many times critical. Program analysis aims to assist with development of high quality software. However, software developers are having usability issues with program analysis results and are missing out on potentially useful information. The purpose of this project is to explore how adaptive developer tools can make program analysis more useful. The specific goals are to learn more about the interaction between software developers and program analysis results, to investigate how developer activities and use of program analysis results can be automatically detected, to explore how the presentation of results can be tuned via feedback of use and activity, and to experiment with different presentation strategies in order to optimize for use. The project will be carried out by the applicant, two PhD students, and research assistants, in collaboration with colleagues with long experience in user experience research, eye-tracking, and empirical software engineering research. The project starts with two case studies, to learn more about the domain, and continues with prototype development alternated with mixed-method experiments. Results from the project has the potential of removing prohibiting usability issues with program analysis. Fully utilized program analysis can assist developers more and lead to production of source code of higher quality.

Popular science description

För att assistera mjukvaruutvecklare, finns olika typer av programanalyser som kan hitta problem och komma med förslag på förbättringar i källkoden. Typen av problem som kan identifieras varierar och sträcker sig från enkla formateringsproblem med radlängder till kodmönster som kan leda till minnesläckor eller säkerhetsproblem. Resultaten från dessa analyser tenderar vara i form av ett meddelande tillsammans med en plats i källkoden som analyserats, ibland tillsammans med ett förslag på hur koden skulle kunna transformeras. Analysresultat kan visas på olika platser i utvecklares arbetsflöde, till exempel i marginalen i deras editor eller som kommentarer i ett kodgranskningsverktyg, alternativt som ren text i ett terminalfönster. Tyvärr dras programanalys med flera användarbarhetsproblem som gör att utvecklare inte drar full nytta av dem. Studier har visat att utvecklare väljer bort programanalys på grund av svårförståeliga resultat, dåligt integrerade resultat, felaktiga resultat, eller rent av för många resultat. Det finns ett glapp mellan hur analysresultat presenteras och vad de presenterar och vad utvecklare behöver. Syftet med det här projektet är att undersöka hur adaptiva utvecklingsverktyg kan göra programanalys mer användbar. Projektet har som mål att studera hur utvecklare interagerar med programanalys vid olika aktiviteter, att studera hur detektion av användning av resultat från programanalys kan automatiseras samt hur olika utvecklar aktivitetet kan detekteras, att undersöka hur presentationen av resultat kan förfinas med hjälp av feedback, samt att undersöka hur olika strategier för presentation av resultat kan användas för att optimera för användning. Projektet börjar med två fallstudier, för att studera hur programanalys används i praktiken och under vilka aktiviteter, och fortsätter sedan med att alternera mellan prototyputveckling och efterföljande utvärderande experiment. Med mer kunskap om vad som hindrar utvecklare från att använda programanalys och bättre förståelse för hur analysresultat bör presenteras, kan vi bygga mer användbara utvecklingsverktyg och ge bättre stöd till mjukvaruutvecklare.