Typ säkerhet och uttrycksfullhet hos många befintliga Javabibliotek och deras klientapplikationer skulle förbättras om biblioteken uppgraderades för att definiera generiska klasser. Effektiva och exakta verktyg finns för att hjälpa klientapplikationer att använda generiska bibliotek, men hittills biblioteken själva måste parameteriseras manuellt, vilket är en tråkig, tidskrävande och felbenägen uppgift. Vi presenterar en typeconstraint-baserad algoritm för att konvertera icke-generiska bibliotek för att lägga till typparametrar. Algoritmen hanterar hela Java-språket och bevarar bakåtkompatibilitet, vilket gör det säkert för befintliga kunder. Bland annat kan den sluta sig till jokerkortstyper och införa typparametrar för ömsesidigt beroende klasser. Vi har implementerat algoritmen som en helautomatisk refaktoring i Eclipse. Vi utvärderade vårt arbete på två sätt. Först, vårt verktyg parameteriserade kod som saknade typ parametrar. Vi kontaktade utvecklarna av flera av dessa program, och i alla fall bekräftade de att de resulterande parameteriseringarna var korrekta och användbara. För det andra, för att bättre kvantifiera dess effektivitet, våra verktyg parameteriserade klasser från redan generiska bibliotek, och vi jämförde resultaten med de som skapades av bibliotekens författare. Vårt verktyg utförde refaktoring exakt-i 87% av fallen resultaten var lika bra som de som skapats manuellt av en mänsklig expert, i 9% av fallen verktygsresultaten var bättre, och i 4% av fallen verktygsresultaten var sämre. 29:e internationella konferensen om programvaruteknik (ICSE'07) 0-7695-2828-7/07 $20,00
Kiezun m.fl. föreslå en type-constraints-baserad algoritm för att konvertera icke-generiska bibliotek för att lägga till typparametrar REF.
Refactoring for Parameterizing Java Classes
{'venue': "29th International Conference on Software Engineering (ICSE'07)", 'journal': "29th International Conference on Software Engineering (ICSE'07)", 'mag_field_of_study': ['Computer Science']}