Fel i programvara är dyra och svåra att hitta och fixa. Under de senaste åren har många verktyg och tekniker utvecklats för att automatiskt hitta fel genom att analysera källkod eller mellankod statiskt (vid kompileringstid). Olika verktyg och tekniker har olika kompromisser, men de praktiska effekterna av dessa kompromisser är inte välbegripliga. I den här artikeln tillämpar vi fem felsökningsverktyg, särskilt Bandera, ESC/Java 2, FindBugs, JLint och PMD, på en mängd olika Javaprogram. Genom att använda en mängd olika verktyg kan vi dubbelkolla deras felrapporter och varningar. Våra experimentella resultat visar att ingen av verktygen strikt subsumerar en annan, och faktiskt verktygen ofta hitta icke-överlappande buggar. Vi diskuterar de tekniker som var och en av verktygen bygger på, och vi föreslår hur särskilda tekniker påverkar utmatningen av verktygen. Slutligen föreslår vi ett metaverktyg som kombinerar utmatningen av verktygen tillsammans, letar efter särskilda rader av kod, metoder, och klasser som många verktyg varnar för.
Rutar et al REF studerade ESC/Java, FindBugs, JLint och PMD.
A comparison of bug finding tools for Java
{'venue': '15th International Symposium on Software Reliability Engineering', 'journal': '15th International Symposium on Software Reliability Engineering', 'mag_field_of_study': ['Computer Science']}