I detta dokument presenterar vi ett nytt tillvägagångssätt för att automatiskt verifiera flertrådiga program som utförs av ett obegränsat antal trådar som körs parallellt. Utgångspunkten för vårt arbete är problemet med hur vi kan utnyttja befintlig automatiserad verifieringsteknik för sekventiella program (abstrakt tolkning, Craig interpolation, begränsningslösning, etc.) för multitrådade program. Antag att vi får ett korrekt bevis för ett spår av ett program (eller för någon annan programfragment). Vi observerar att beviset alltid kan brytas ner i en ändlig uppsättning av Hoare tripletter, och vi frågar vad kan bevisas från den ändliga uppsättningen av Hoare tripletter med endast enkla kombinatoriska inferens regler (utan tillgång till en teorem bevis och utan möjlighet att sluta äkta nya Hoare tripletter)? Vi introducerar ett bevissystem där man bevisar riktigheten av ett flertrådat program genom att visa att för varje spår av programmet, det finns ett korrektur i utrymmet för bevis som kan härledas från en ändlig uppsättning axiom med hjälp av enkla kombinatoriska inferens regler. Detta bevissystem är komplett med avseende på den klassiska bevismetoden för att fastställa en induktiv invariant (som använder gängkvantifiering och kontroll-predikat). Dessutom är det möjligt att algoritmiskt kontrollera om en given uppsättning axiom är tillräcklig för att bevisa korrektheten i ett flertrådat program, med hjälp av idéer från välstrukturerade övergångssystem.
Välgrundade bevis utrymmen kan ses som en förlängning av bevis utrymmen REF, ett bevissystem för parameteriserad säkerhetsanalys, för att bevisa levande egenskaper.
Proof Spaces for Unbounded Parallelism
{'venue': "POPL '15", 'journal': None, 'mag_field_of_study': ['Computer Science']}