Varje programmerare har en karakteristisk stil, allt från preferenser om identifieringsnamn till preferenser om objektrelationer och designmönster. Kodningskonventioner definierar en konsekvent syntaktisk stil, vilket främjar läsbarhet och därmed underhållsbarhet. När programmerare samarbetar strävar de efter att följa ett projekts kodningskonventioner. En tredjedel av översynerna av ändringar innehåller dock feedback om kodkonventioner, vilket tyder på att programmerare inte alltid följer dem och att projektmedlemmarna bryr sig mycket om att följa dem. Tyvärr är programmerare ofta omedvetna om kodningskonventioner eftersom det krävs en global syn på dem, en syn som sammanställer de många lokala beslut programmerare gör och identifierar framväxande samförstånd om stil. Vi presenterar NATURAL-IZE, ett ramverk som lär sig stilen på en kodbas, och föreslår revideringar för att förbättra stilistisk konsekvens. NATURALIZE bygger på det senaste arbetet med att tillämpa statistisk behandling av naturligt språk på källkoden. Vi tillämpar NATURALIZE för att föreslå naturliga identifierare namn och formatering konventioner. Vi presenterar fyra verktyg som fokuserar på att säkerställa naturlig kod under utvecklings- och utgivningshantering, inklusive kodgranskning. NATURALIZE uppnår 94% noggrannhet i sina toppförslag för identifieringsnamn. Vi använde NATURALIZE för att generera 18 patchar för 5 öppna källkodsprojekt: 14 accepterades.
NATURALIZE REF använder ngram språkmodell för att lära sig stilen på en kodbas och föreslå naturliga identifierare namn och formatering konventioner.
Learning natural coding conventions
{'venue': 'FSE 2014', 'journal': None, 'mag_field_of_study': ['Computer Science']}