ADAPT: Adaptiva utvecklingsverktyg
- Diarienummer
- FFL18-0231
- Projektledare
- Söderberg, Emma
- Start- och slutdatum
- 200401-260331
- Beviljat belopp
- 12 000 000 kr
- Förvaltande organisation
- Lund University
- Forskningsområde
- Informations-, kommunikations- och systemteknik
Summary
Vårt samhälle är starkt beroende av mjukvara och att mjukvaran fungerar är många gånger kritiskt. Programanalys har som mål att assistera med utveckling av mjukvara av hög kvalité. Tyvärr har programanalys användbarhetsproblem som gör att utvecklare missar potentiellt användbar information. Syftet med det här projektet är att utforska hur adaptiva utvecklingsverktyg kan göra programanalys mer användbar. De specifika målen är att studera interaktionen mellan utvecklare och programanalysresultat, att undersöka hur utvecklaraktivitet samt användning av programanalysresultat kan detekteras automatiskt, att utforska hur presentationen av resultat kan justeras via återkoppling om användning och aktivitet, att experimentera med olika presentastionsstrategier med målet att optimera för användning. Projektet kommer att utföras av den sökande, två doktorander, samt projektassistenter, i samarbete med kollegor med lång erfarenhet inom användareupplevelseforskning, eye-tracking, och empirisk programvaruteknikforskning. Projektet börjar med två fallstudier, för att inhämta kunskap om domänen, och fortsätter därefter med prototyputveckling varvat med mixad-metod experiment. Resultaten från projektet har potential att ta bort användbarhetsproblem hos programanalys. Bättre utnyttjad programanalys kan assistera utvecklare mer och leda till källkod av bättre kvalité.
Populärvetenskaplig beskrivning
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.