Abstract-Android appar bör utformas för att hantera stopp-start händelser, som är de händelser som kräver att stoppa och återställa genomförandet av en app samtidigt lämna sitt tillstånd oförändrad. Dessa händelser kan orsakas av konfigurationsändringar i körtid, t.ex. en skärmrotation, och av sammanhangsväxlingar, t.ex. en växling från en app till en annan. När ett stoppstart händelse inträffar, Android sparar tillståndet i appen, hanterar händelsen, och slutligen återställer det sparade tillståndet. För att Android ska kunna spara och återställa tillståndet korrekt måste apparna ge lämpligt stöd. Tyvärr, Android utvecklare ofta genomföra detta stöd felaktigt, eller inte genomföra det alls. Denna dåliga praxis gör appar att felaktigt reagera på stoppstart händelser, vilket genererar vad vi definierade data förlust problem, det vill säga Android-appar som förlorar användardata, beter sig oväntat, och krasch på grund av program variabler som förlorade sina värden. Problem med dataförlust är svåra att upptäcka eftersom de kan observeras endast när appar är i specifika tillstånd och med specifika ingångar. Att täcka alla möjliga fall med testning kan kräva ett stort antal testfall vars utförande måste kontrolleras manuellt för att upptäcka om appen under provningen har återställts korrekt efter varje stopp-start-händelse. Det är därför viktigt att komplettera traditionella interna testaktiviteter med mekanismer som kan skydda appar så snart ett dataförlustproblem uppstår inom området. I detta papper presenterar vi DataLossHealer, en teknik för att automatiskt identifiera och läka problem data förlust i fältet så snart de inträffar. DataLossHealer är en teknik som kontrollerar vid körning om tillstånden återvinns korrekt, och läker appen när det behövs. DataLossHealer kan lära sig av erfarenhet, gradvis minska overhead som införs undvika att övervaka interaktioner som har hanterats korrekt av appen i det förflutna.
Slutligen, läkning av data förlust problem ger en strategi för att förhindra förlust av data på grund av ett felaktigt genomförande av mekanismerna för att stoppa och återvinna genomförandet av en app REF.
Healing Data Loss Problems in Android Apps
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}