Systematisk prospektering av Android-appar är en möjliggörare för en mängd olika appanalys- och testuppgifter. Utföra prospektering medan appar körs på faktiska telefoner är viktigt för att utforska hela utbudet av app-funktioner. Men att utforska verkliga appar på riktiga telefoner är utmanande på grund av icke-determinism, icke-standard kontrollflöde, skalbarhet och overhead begränsningar. Att förlita sig på slutanvändare för att genomföra prospektering kanske inte är särskilt effektivt: vi utförde en 7-användarstudie på populära Android-appar, och fann att den kombinerade 7-användartäckningen var 30.08% av appskärmarna och 6,46% av app-metoderna. Tidigare metoder för automatiserad prospektering av Android-appar har kört appar i en emulator eller fokuserat på små appar vars källkod var tillgänglig. För att ta itu med dessa problem presenterar vi A 3 E, ett tillvägagångssätt och verktyg som gör att omfattande Android-appar kan utforskas systematiskt medan du kör på faktiska telefoner, men utan att kräva tillgång till appens källkod. Den viktigaste insikten i vår strategi är att använda en statisk, fläck-stil, dataflödesanalys på app bytecode på ett nytt sätt, för att konstruera en hög nivå kontrollflöde graf som fångar juridiska övergångar mellan aktiviteter (app skärmar). Vi använder sedan denna graf för att utveckla en prospekteringsstrategi som heter Targeted Exploration som tillåter snabb, direkt utforskning av aktiviteter, inklusive aktiviteter som skulle vara svåra att nå under normal användning. Vi utvecklade också en strategi som heter Djup-första Exploration som efterliknar användaråtgärder för att utforska aktiviteter och deras komponenter på ett långsammare men mer systematiskt sätt. För att mäta effektiviteten av våra tekniker använder vi två mått: aktivitetstäckning (antal undersökta skärmar) och metodtäckning. Experiment med att använda vår strategi på 25 populära Android-appar inklusive BBC News, Gas Buddy, Amazon Tillstånd att göra digitala eller hårda kopior av hela eller en del av detta arbete för personligt eller klassrum användning beviljas utan avgift under förutsättning att kopior inte görs eller distribueras för vinst eller kommersiella fördelar och att kopior bär detta meddelande och den fullständiga hänvisning på första sidan. Upphovsrätt till delar av detta verk som ägs av andra än ACM måste hedras. Abstraktering med kredit är tillåten. För att kopiera på annat sätt, eller återpublicera, för att posta på servrar eller för att omfördela till listor, krävs tidigare specifik behörighet och/eller avgift. Begär tillstånd från Authoritys@acm.org. Mobile, YouTube, Shazam Encore och CNN visar att våra prospekteringstekniker uppnår 59.39-64.11% aktivitetstäckning och 29.53-36.46% metodtäckning.
I stället för instrumenteringsprofilering förbättrar A 3 E REF täckningen genom att använda en statisk analys av dataflödet på bytekoden.
Targeted and depth-first exploration for systematic testing of android apps
{'venue': "OOPSLA '13", 'journal': None, 'mag_field_of_study': ['Computer Science']}