Digitala Vetenskapliga Arkivet

Endre søk
RefereraExporteraLink to record
Permanent link

Direct link
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annet format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annet språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Verifying Temporal Properties Using Deductive Verifiers
KTH, Skolan för elektroteknik och datavetenskap (EECS).
KTH, Skolan för elektroteknik och datavetenskap (EECS).
2019 (engelsk)Independent thesis Basic level (degree of Bachelor), 10 poäng / 15 hpOppgaveAlternativ tittel
Verifiering av temporala egenskaper med hjälp av deduktiva verifierare (svensk)
Abstract [en]

Formal verification is an area of theoretical computer science where mathematical logic is used to prove that a program behaves in a certain way. With the methods in formal verification, you can prove that the program follows some given specification and thereby behaves in the desired way. The area is largely split up into two distinct parts. One deals with how the program transforms data. This uses Hoare logic and deductive verification to prove that the program follows a given specification. The other part deals with temporal properties of the program, this uses temporal logic and model checkers.

The two areas are today largely separated. This report builds on a framework by Alur and Chaudhuri [1] which proves temporal properties in a Hoare logic style reasoning. By using this framework, this report aims to check the viability of using it with deductive verifiers. Thereby bridging the gap between the two areas for formal verification.

In conclusion, the report finds that it is certainly possible to prove temporal properties for C programs using Alur and Chaudhuri’s framework with deductive verifiers. In practical terms, though, it requires too much work to be feasible to use this framework by manually creating annotations for the deductive verifiers. In a small example program of 13 lines, proving a temporal property required around 50 extra lines of annotations. However, some parts of the annotation process could be automated with tooling support but to achieve full automation is probably not possible. This is partly due to ranking functions that the framework requires which, in general, are not easy to generate automatically.

Abstract [sv]

Formell verifikation är ett område inom teoretisk datalogi där man genom matematisk logik vill bevisa att ett program beter sig på ett visst sätt. Genom detta kan man bevisa att programmet följer en given specifikation och beter sig som man tänkt. Detta område kan delas upp i två separata delar. Den ena handlar om att visa hur programmet transformerar data och bygger på Hoare logik och deduktiv verifikation för att bevisa att programmet följer en viss specifikation. Den andra delen handlar om temporala egenskaper och använder sig av model checking och temporal logik. Dessa delar behandlas vanligtvis separat från varandra. Denna rapport bygger på ett logiskt system utvecklat av Alur och Chaudhuri [1] som används för att bevisa temporala egenskaper genom ett angreppssätt som använder Hoare-logik. Genom att använda detta system vill denna rapport undersöka huruvida det är möjligt att bevisa temporala egenskaper med hjälp av deduktiva verifierare och därigenom minska klyftan mellan dessa två områden av formel verifikation.

Rapporten finner att det är möjligt att använda Alur och Chaudhuri’s system för att bevisa temporala egenskaper genom deduktiva verifierare. I praktiska termer krävs det för mycket arbete för att kunna användas genom att manuellt skapa instruktioner till den deduktiva verifieraren. I ett litet exempelprogram på 13 rader kräves 50 extra rader av annotationer för att bevisa en viss temporal egenskap. Stora delar av den processen skulle dock kunna automatiseras med verktygsstöd. Att automatisera hela processen är dock antagligen inte möjligt. Detta är dels pågrund av att de rankning funktioner som systemet använder sig av är svåra att automatisera.

sted, utgiver, år, opplag, sider
2019.
Serie
TRITA-EECS-EX ; 2019:326
HSV kategori
Identifikatorer
URN: urn:nbn:se:kth:diva-255157OAI: oai:DiVA.org:kth-255157DiVA, id: diva2:1338659
Fag / kurs
Computer and Systems Sciences
Veileder
Examiner
Tilgjengelig fra: 2019-07-29 Laget: 2019-07-23 Sist oppdatert: 2022-06-26bibliografisk kontrollert

Open Access i DiVA

fulltext(561 kB)362 nedlastinger
Filinformasjon
Fil FULLTEXT01.pdfFilstørrelse 561 kBChecksum SHA-512
b3429685507d524f230b3dfa8dcb4405366d5b7c56bcb3a30a51ac7ba4e90b13da5da948726a34be290ebeebb9c3f540e002c80e34a47c8a10a00a6b879949f5
Type fulltextMimetype application/pdf

Av organisasjonen

Søk utenfor DiVA

GoogleGoogle Scholar
Totalt: 362 nedlastinger
Antall nedlastinger er summen av alle nedlastinger av alle fulltekster. Det kan for eksempel være tidligere versjoner som er ikke lenger tilgjengelige

urn-nbn

Altmetric

urn-nbn
Totalt: 564 treff
RefereraExporteraLink to record
Permanent link

Direct link
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annet format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annet språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf