Android-kod dofter är dålig genomförande praxis inom Android-program (eller appar) som kan leda till dålig programvara kvalitet, särskilt när det gäller prestanda. Prestanda är dock en viktig kvalitetsfråga i utvecklingen av mobila appar. Att korrigera Android-kodens lukter är därför en viktig aktivitet för att öka mobilapparnas prestanda och för att ge den bästa upplevelsen för mobila slutanvändare samtidigt som man beaktar de begränsade begränsningarna hos mobila enheter (t.ex. CPU, minne, batteri). Ingen empirisk studie har dock bedömt de positiva effekterna av att korrigera mobila koddofter. I den här artikeln genomför vi därför en empirisk studie med fokus på de individuella och kombinerade prestandaeffekterna av tre Android-prestandakod dofter (nämligen, Internal Getter/Setter, Medlems Ignoration Method, och HashKarta Användning) på två öppen källkod Android-appar. För att utföra denna studie använder vi Paprika toolkit för att upptäcka dessa tre koddofter i de analyserade apparna, och vi härleder fyra versioner av apparna genom att korrigera varje upptäckt lukt oberoende, och alla av dem. Därefter utvärderar vi prestandan för varje version på ett gemensamt användarscenariotest. I synnerhet utvärderar vi UI och minne prestanda med hjälp av följande mått: ramtid, antal försenade ramar, minnesanvändning, och antal sophämtning samtal. Våra resultat visar att korrigera dessa Android-kod luktar effektivt förbättra UI och minnesprestanda. I synnerhet observerar vi en förbättring upp till 12,4 % på UI-mått när man korrigerar Medlems Ignorerande Metod och upp till 3,6 % på minnesrelaterade mätvärden när man korrigerar de tre Android-kod dofter. Vi tror att utvecklare kan dra nytta av dessa resultat för att vägleda deras refaktoring, och därmed förbättra kvaliteten på sina mobilappar.
Hecht m.fl. REF genomförde en empirisk studie om de individuella och kombinerade effekterna av tre Android-prestanda lukter.
An empirical study of the performance impacts of Android code smells
{'venue': "MOBILESoft '16", 'journal': None, 'mag_field_of_study': ['Computer Science']}