Gappa är ett verktyg som utformats för att formellt verifiera korrektheten hos numerisk programvara och hårdvara. Den använder intervall aritmetisk och framåt felanalys för att binda matematiska uttryck som involverar rundade såväl som exakta operatörer. Den genererar sedan ett teorem och dess bevis för varje verifierad inneslutning. Detta bevis kan kontrolleras automatiskt med en bevisassistent, såsom Coq eller HOL Light. Den bygger på ett stort sällskapsbibliotek av fakta som vi har utvecklat. Detta Coq-bibliotek tillhandahåller teorem som behandlar addition, multiplikation, division och kvadratrot, för både fast och flyttal aritmetik. Gappa använder flera precisa dyadiska fraktioner för intervallernas slutpunkter och utför felanalys framåt på rundade operatörer vid behov. På frågan, Gappa rapporterar de bästa gränserna den kan nå för ett givet uttryck i ett givet sammanhang. Denna funktion kan användas för att identifiera var uppsättningen fakta och automatiska tekniker som genomförs i Gappa blir otillräcklig. Gappa hanterar sömlöst ytterligare egenskaper uttryckta som intervallegenskaper eller omskrivningsregler för att fastställa mer invecklade gränser. Det senaste arbetet visade att Gappa lämpar sig för att skriva ut bevis skyldigheter som genereras för små bitar av programvara. De kan framställas av tredje part verktyg och de första tillämpningarna av Kappa använda bevis skyldigheter skrivna av designers eller erhållits från spår av utförande.
Kappa REF är ett teoremtest för (särskilda former av) VC om reella tal som kan innebära avrundning operatörer.
Certification of bounds on expressions involving rounded operators
{'venue': 'TOMS', 'journal': None, 'mag_field_of_study': ['Computer Science']}