Abstract-Inkompatibilitet mellan applikationer som utvecklats ovanpå ramverk med nya versioner av ramverken är en stor mardröm för både utvecklare och användare av applikationerna. Att förstå de faktorer som orsakar inkompatibilitet är ett steg mot att lösa dem. En sådan riktning är att analysera och identifiera delar av den återanvändbara koden för ramverket som är benägna att förändras. I denna studie genomförde vi en empirisk undersökning av 11 Eclipse SDK releaser (1.0 till 3.7) och 288 Eclipse tredje part plug-ins (ETPs) med två huvudmål: För det första, att bestämma förhållandet mellan ålder Eclipse non-APIs (interna implementations) som används av en ETP och kompatibiliteten av ETP. Vi fann att tredje part plug-in som endast använder gamla icke-APIs har en hög chans till kompatibilitet framgång i nya SDK-utgåvor jämfört med dem som använder minst en nyligen införd icke-API. För det andra var vårt mål att bygga och testa en prediktiv modell för kompatibiliteten hos en ETP, som stöds i en given SDK-utgåva i en nyare SDK-utgåva. Våra resultat gav 23 statistiskt signifikanta prediktionsmodeller med höga värden på styrkan i förhållandet mellan prediktorerna och prediktionen (logistisk regression R 2 på upp till 0,810). Dessutom indikerar resultaten från modelltester höga värden på upp till 100 % av precisionen och återkallandet och upp till 98 % av exaktheten i förutsägelserna. Slutligen, trots att SDK släpper med API bryta förändringar, dvs. 1,0, 2,0 och 3,0, har ingenting att göra med icke-API, visar våra resultat att icke-API som införts i dessa utgåvor har en betydande inverkan på kompatibiliteten hos de ETP som använder dem.
I ett uppföljande dokument REF verifierade vi formellt hypotesen om förhållandet mellan åldern på de icke-aPI som använts och sammanställningen av framgången för en ETP, och bygger vidare på insikterna i det nuvarande arbetet har vi utvecklat statistiska modeller för att förutsäga kompatibiliteten hos ETP i nya utgåvor av Eclipse.
Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases
{'venue': '2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation', 'journal': '2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation', 'mag_field_of_study': ['Computer Science']}