Abstract-Android kod dofter är dålig genomförande praxis inom Android-program (eller appar) som kan leda till dålig programvara kvalitet. Dessa kod dofter är kända för att försämra prestandan hos appar och att ha en inverkan på energiförbrukningen. Få studier har dock bedömt den positiva inverkan på energiförbrukningen när koddofter korrigeras. I detta dokument föreslår vi därför ett verktygsbaserat och reproducerbart tillvägagångssätt, kallat HOT-PEPPER, för att automatiskt korrigera koddofter och utvärdera deras inverkan på energiförbrukningen. För närvarande kan HOT-PEPPER automatiskt korrigera tre typer av Android-specifika kod lukter: Intern Getter / Setter, Medlems Ignorerande Metod, och HashKarta Användning. HOT-PEPPER härleder fyra versioner av apparna genom att korrigera varje upptäckt lukt oberoende, och alla av dem på en gång. HOT-PEPPER kan rapportera om energiförbrukningen i varje appversion med ett enda användarscenario test. Vår empiriska studie på fem open-source Android-appar visar att korrigera de tre ovan nämnda Android-koden luktar effektivt och avsevärt minskar energiförbrukningen av appar. Framför allt noterade vi en global minskning av energiförbrukningen med 4,83 % i en app när de tre koddofterna korrigeras. Vi drar också nytta av flexibiliteten hos HOT-PEPPER för att undersöka effekterna av tre bilddofter (dåligt bildformat, kompression och bitmappformat) i sample apps. Vi noterade att användningen av optimerade JPG-bilder med Android standard bitmap-format är den mest energieffektiva kombinationen i Android-appar. Vi tror att utvecklare kan dra nytta av vår strategi och resultat för att vägleda deras refaktor och därmed förbättra energiförbrukningen i sina mobilappar.
Kod dofter energiförbrukning studeras också i REF för att bedöma fördelarna med ett verktyg som automatiskt korrigerar kod dofter och utvärdera deras inverkan på energiförbrukning.
Investigating the energy impact of Android smells
{'venue': '2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)', 'journal': '2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)', 'mag_field_of_study': ['Engineering', 'Computer Science']}