Abstract-Code dofter är symtom på dålig design och implementation val som kan hindra kodförståelse, och eventuellt öka förändring-och felbenägenhet. Medan de flesta av detektionsteknikerna bara förlitar sig på strukturell information, många koddofter kännetecknas i sig av hur kodelement förändras över tiden. I detta dokument föreslår vi historisk information för luktdeTection (HIST), ett tillvägagångssätt som utnyttjar förändringshistorik information för att upptäcka fall av fem olika kod dofter, nämligen divergent förändring, Shotgun kirurgi, parallell arv, blob, och Feature Envy. Vi utvärderar HIST i två empiriska studier. De första, som genomfördes i 20 projekt med öppen källkod, syftade till att bedöma HIST:s noggrannhet när det gäller att upptäcka fall av den koddoft som nämns ovan. Resultaten visar att precisionen i HIST varierar mellan 72 och 86 procent, och dess recall varierar mellan 58 och 100 procent. Resultaten av den första studien visar också att HIST kan identifiera koddofter som inte kan identifieras genom konkurrensbaserade metoder enbart baserat på kodanalys av ett enda systems ögonblicksbild. Sedan genomförde vi en andra studie som syftade till att undersöka i vilken utsträckning koden dofter som upptäckts av HIST (och av konkurrenskraftiga kodanalystekniker) speglar utvecklarnas uppfattning om dålig design och implementation val. Vi involverade 12 utvecklare av fyra open source projekt som erkände mer än 75 procent av den kod lukt fall identifieras av HIST som faktiska design / genomförande problem.
Palomba, F et al. REF tillhandahåller en metod HIST (Historisk Information för luktdetektering) för att upptäcka fem koddofter i versionskontrollsystemet.
Mining Version Histories for Detecting Code Smells
{'venue': 'IEEE Transactions on Software Engineering', 'journal': 'IEEE Transactions on Software Engineering', 'mag_field_of_study': ['Computer Science']}