Programfrågor kan svara på viktiga programvarutekniska frågor som sträcker sig från "vilka uttryck är gjutna till denna typ?" Över "försöker mitt program att läsa från en stängd fil?" "Följer min kod den föreskrivna designen?". I den här artikeln presenterar vi en omfattande verktygssvit för att fråga ut Javaprogram. Den består av logikprogrammet frågespråk SOUL, CAVA biblioteket av predikat för kvantifiering över en Eclipse arbetsyta och Eclipse plugin BARITA för att lansera frågor och inspektera deras resultat. BARISTA tillåter andra Eclipse plugins att peruse program frågeresultat som underlättas av symbios av SOUL med Java -att ställa SOUL bortsett från andra program frågespråk. Denna symbios gör det möjligt för CAVA-biblioteket att avstå från den dominerande transkriptionen till logiska fakta i det ifrågasatta programmet. Istället frågar biblioteket den faktiska AST noder som används av Eclipse själv, vilket gör det trivialt för alla Eclipse plugin för att hitta AST noder som motsvarar ett frågeresultat. Dessutom behöver sådana plugins inte oroa sig för att ha frågat gamla programinformation. Vi illustrerar extensibiliteten av vår svit genom att implementera ett verktyg för co-evolving källkod och annotations med hjälp av programfrågor.
Dessa begränsningar uttrycks med hjälp av logik programmet fråga språk SOUL REF.
The SOUL Tool Suite for Querying Programs in Symbiosis with Eclipse
{'venue': 'PPPJ', 'journal': None, 'mag_field_of_study': ['Computer Science']}