Kredit:Azevedo, Dantas og Camilo
Automatiseret programreparation (APR) er et spirende forskningsfelt, der har til formål at udvikle metoder til at rette softwarefejl automatisk, uden indblanding fra menneskelige programmører. Efter udvikling, ÅOP-teknikker evalueres typisk på flere benchmarks, procedurer, der vurderer ydeevnen af et computerprogram eller system ved at køre en række standardtests.
Forskere ved Universidade Federal de Goias og I4Soft har for nylig udviklet et indledende benchmark baseret på analyserne af 360 åbne projekter til Android, hver af dem med mere end 5, 000 downloads. Dette benchmark, præsenteret i en undersøgelse præ-publiceret på arXiv, indeholder 13 enkelte fejl klassificeret efter den type test, der effektivt afslørede dem.
"Vores arbejde er placeret i sammenhæng med et meget nyere forskningsfelt kaldet automatisk programreparation, "Celso Camilo, en af de forskere, der har udført undersøgelsen, fortalte TechXplore. "Nogle automatiske reparationsløsninger er allerede blevet foreslået og evalueret ved hjælp af specialiserede benchmarks. Men, på trods af den store brug af Android-applikationer, der er ingen benchmark designet til at evaluere automatiserede programreparationsteknikker til mobile projekter."
For at afhjælpe denne mangel, forskerne udviklede DroidBugs, et nyt benchmark med rigtige og reproducerbare fejl fra mobile projekter. Dette benchmark kan hjælpe med at evaluere nye automatiske programreparationsprogrammer til Android-apps.
"DroidBugs er et sæt veldefinerede profiler af fejl i rigtige open source Android-applikationer, Camilo forklarede. "Det organiserer og giver 13 fejl, syv afsløret ved at simulere en Android-enhed og seks kun analysere kildekoden. Benchmark præsenterer fejlens placering i kildekoden, buggy og faste versioner af kildekoden, og testpakken, der blev brugt til at afsløre fejlene."
Bruger Astor4Android, et APR-værktøj udviklet af Camilos forskningsgruppe hos I4Soft, samt to almindelige fejllokaliseringsstrategier, forskerne forsøgte at lokalisere og rette fejl i Android-applikationer. Mens du gør dette, de stødte på en række udfordringer, som kunne løses af fremtidige undersøgelser.
"Vi leverede det første offentlige benchmark for automatiseret programreparation i forbindelse med Android-udvikling, " sagde Camilo. "Vi anvendte også eksisterende APR-algoritmer og rapporterede resultater om automatisk lokalisering og reparation af fejlene i benchmark. Med sådanne fund, vi var i stand til at pege på vigtige udfordringer ved at producere et relevant benchmark baseret på open source Android-projekter, som kan være nyttige for fremtidige indsatser på dette forskningsfelt."
Undersøgelsen udført af Camilo og hans kolleger kunne lægge grundlaget for udviklingen af yderligere benchmarks til at evaluere APR-teknikker til Android-mobilapplikationer. Forskerne planlægger nu at udvide deres forskning og udforske nye måder at forbedre DroidBugs på.
"Vi har til hensigt at udvide typerne af fejl ved at øge antallet af applikationer, der er omfattet af benchmark, " sagde Camilo. "Vi planlægger også at udføre en dyb undersøgelse af udfordringerne for nuværende APR-teknikker med at rette fejl i Android-apps."
© 2018 Tech Xplore