Programmeringsspråken utvecklas med tiden och lägger till ytterligare språkfunktioner för att förenkla gemensamma uppgifter och göra språket lättare att använda. Till exempel, Java Language Specification har fyra utgåvor och håller för närvarande på att utarbeta en femte. Även om tillägg av språkfunktioner drivs av ett förmodat behov av gemenskapen (ofta med direkta förfrågningar om sådana funktioner), finns det få empiriska bevis som visar hur dessa nya funktioner antas av utvecklare när de väl släppts. I detta papper analyserar vi över 31k opensource Java-projekt som representerar över 9 miljoner Java-filer, som när de tolkas innehåller över 18 miljarder AST noder. Vi analyserar denna corpus för att hitta användning av nya Java språkfunktioner över tid. Vår studie ger intressanta insikter, såsom: det finns miljontals platser funktioner kan potentiellt användas men var inte; utvecklare konvertera befintlig kod för att använda nya funktioner; och vi hittade tusentals fall av potentiella resurshantering buggar.
För att identifiera användningar av nya Java språkfunktioner över tid, Dyer et al. REF analyserade över 23k open-source Java projekt som innehåller mer än 7 miljoner Java-filer, vilket vid tolkning resulterade i över 14 miljarder AST noder.
Mining billions of AST nodes to study actual and potential usage of Java language features
{'venue': 'ICSE 2014', 'journal': None, 'mag_field_of_study': ['Computer Science']}