Wetenschap
Krediet:Azevedo, Dantas &Camilo
Geautomatiseerde programmareparatie (APR) is een opkomend onderzoeksgebied dat zich richt op het ontwikkelen van methoden voor het automatisch oplossen van softwarefouten, zonder tussenkomst van menselijke programmeurs. Na ontwikkeling, APR-technieken worden doorgaans geëvalueerd op verschillende benchmarks, procedures die de prestaties van een computerprogramma of systeem beoordelen door een reeks standaardtests uit te voeren.
Onderzoekers van Universidade Federal de Goias en I4Soft hebben onlangs een inleidende benchmark ontwikkeld op basis van de analyses van 360 open projecten voor Android, elk met meer dan 5, 000 downloads. Deze maatstaf, gepresenteerd in een studie die vooraf is gepubliceerd op arXiv, bevat 13 enkele bugs die zijn geclassificeerd volgens het type test dat ze effectief heeft blootgelegd.
"Ons werk wordt geplaatst in de context van een zeer recent onderzoeksveld genaamd automatische programmareparatie, "Celso Camilo, een van de onderzoekers die het onderzoek heeft uitgevoerd, vertelde TechXplore. "Sommige automatische reparatieoplossingen zijn al voorgesteld en geëvalueerd met behulp van gespecialiseerde benchmarks. ondanks het enorme gebruik van Android-applicaties, er is geen benchmark ontworpen om geautomatiseerde programmareparatietechnieken voor mobiele projecten te evalueren."
Om deze tekortkoming aan te pakken, de onderzoekers ontwikkelden DroidBugs, een nieuwe benchmark met echte en reproduceerbare bugs van mobiele projecten. Deze benchmark kan helpen bij het evalueren van nieuwe automatische programmareparatieprogramma's voor Android-apps.
"DroidBugs is een reeks goed gedefinieerde profielen van bugs in echte open source Android-applicaties, " legde Camilo uit. "Het organiseert en biedt 13 bugs, zeven onthuld door een Android-apparaat te simuleren en zes alleen de broncode te analyseren. De benchmark geeft de locatie van de bug in de broncode weer, de buggy- en vaste versies van de broncode, en de testsuite die werd gebruikt om de fouten bloot te leggen."
Met behulp van Astor4Android, een APR-tool ontwikkeld door Camilo's onderzoeksgroep bij I4Soft, evenals twee veelvoorkomende foutlokalisatiestrategieën, de onderzoekers probeerden bugs in Android-applicaties te lokaliseren en op te lossen. Terwijl je dit doet, ze kwamen een aantal uitdagingen tegen die door toekomstige studies zouden kunnen worden aangepakt.
"We hebben de eerste openbare benchmark geleverd voor geautomatiseerde programmareparatie in de context van Android-ontwikkeling, "Zei Camilo. "We hebben ook bestaande APR-algoritmen toegepast en resultaten gerapporteerd over het automatisch lokaliseren en repareren van de bugs in de benchmark. Met zulke bevindingen we konden wijzen op belangrijke uitdagingen voor het produceren van een relevante benchmark op basis van open source Android-projecten, die nuttig kunnen zijn voor toekomstige inspanningen op dit onderzoeksgebied."
De studie van Camilo en zijn collega's zou de basis kunnen leggen voor de ontwikkeling van verdere benchmarks om APR-technieken voor mobiele Android-applicaties te evalueren. De onderzoekers zijn nu van plan hun onderzoek te verbreden en nieuwe manieren te verkennen om DroidBugs te verbeteren.
"We zijn van plan de soorten bugs uit te breiden door het aantal applicaties dat onder de benchmark valt te vergroten, "Zei Camilo. "We zijn ook van plan een diepgaand onderzoek uit te voeren naar de uitdagingen voor de huidige APR-technieken bij het oplossen van bugs van Android-apps."
© 2018 Tech Xplore
Wetenschap © https://nl.scienceaq.com