Abstrakt. Specifikationer är nödvändiga för att hitta programvara buggar med hjälp av programverifieringsverktyg. Detta dokument presenterar en ny automatisk specifikation gruvalgoritm som använder information om felhantering för att lära sig tidssäkerhetsregler. Vår algoritm är baserad på observationen att program ofta gör misstag längs exceptionella kontrollflödesvägar, även när de beter sig korrekt på normala körningsvägar. Vi visar att detta fokus förbättrar gruvarbetarens effektivitet för att upptäcka specifikationer som är till nytta för felsökning. Vi presenterar kvantitativa resultat som jämför vår teknik med fyra befintliga gruvarbetare. Vi lyfter fram antaganden gjorda av olika gruvarbetare som inte alltid föds ut i praktiken. Dessutom tillämpar vi vår algoritm på befintliga Java-program och analyserar dess förmåga att lära sig specifikationer som hittar buggar i dessa program. I våra experiment tycker vi att filtrering av kandidatspecifikationer är viktigare än att rangordna dem. Vi hittar 430 fel i 1 miljon rader kod. Särskilt hittar vi 250 fler buggar med hjälp av per-program specifikationer lärt av vår algoritm än med generiska specifikationer som gäller för alla program.
Weimer och Necula REF presenterar en automatisk specifikation gruvteknik som använder information om undantag och fel för att identifiera tidssäkerhetsregler, och tillhandahålla detaljerade experiment för att visa skalbarhet och korrekthet i deras tillvägagångssätt.
Mining Temporal Specifications for Error Detection
{'venue': 'In TACAS', 'journal': None, 'mag_field_of_study': ['Computer Science']}