Abstrakt. Användningen av formella metoder ger förtroende för att utvecklingen är korrekt. Ändå kan man argumentera om den faktiska graden av förtroende som erhålls när själva metoden - eller dess genomförande - inte formellt kontrolleras. Vi tar upp denna fråga för B, en allmänt använd formell metod som gör det möjligt att härleda korrekta program från specifikationer. Genom en djup inbäddning av B-logiken i Coq kontrollerar vi B-teorin men också implementerar B-verktyg. Båda aspekterna illustreras av beskrivningen av en bevisbörda för B-logiken. Nyckelord: Förtroende, formella metoder, Prover, Djup inbäddning En tydlig fördel med formella metoder är att öka förtroendet för att utvecklingen är korrekt. Man kan dock argumentera om den faktiska graden av förtroende som erhållits, när metoden eller dess genomförande inte kontrolleras formellt. Denna fråga är berättigad för säkerheten, eftersom man av misstag kan härleda ogiltiga resultat. Det är ännu mer relevant när säkerhet är en oro, eftersom alla brister kan avsiktligt utnyttjas av en illasinnad utvecklare för att fördunkla oönskade beteenden i ett system medan fortfarande få en certifiering. B [1] är en populär formell metod som gör det möjligt att härleda korrekta program från specifikationer. Flera industriella genomföranden finns tillgängliga (t.ex. AtelierB, B Toolkit ), och det används i stor utsträckning i branschen för projekt där säkerhet eller säkerhet är obligatorisk. Så B är en bra kandidat för att ta itu med vår oro: när bevisaren säger att en utveckling är rätt, vem säger att bevisaren har rätt? För att besvara denna fråga måste man kontrollera både teorin och provaren w.r.t. Denna teori (eller, alternativt, för att tillhandahålla en beviskontroll). Dessa är målen för BiCoq, en djup inbäddning av B-logiken i Coq [2]. BiCoq drar nytta av Coqs stöd för att studera teorin om B, och för att kontrollera giltigheten av standarddefinitioner och resultat. BiCoq gör det också möjligt för oss att genom en genomförandestrategi utveckla formellt kontrollerade B-verktyg. Denna strategi illustreras i detta dokument av utvecklingen av en testmotor för B-logiken, som kan extraheras och användas oberoende av Coq. Coq är därför vår notarius publicus, bevittnar giltigheten av de resultat som är förknippade med B-teorin, liksom riktigheten av verktyg som genomför dessa resultat - slutligen öka förtroendet för B-utvecklingen. Tillvägagångssättet, som kombinerar en djup inbäddning och
De andra målen är att utveckla formellt kontrollerade verktyg för B-utveckling, som illustreras av en beprövad testare (som inte diskuteras vidare i detta dokument men som beskrivs i REF ) och att ta fram nya resultat om B-logiken.
Why Would You Trust B?
{'venue': None, 'journal': None, 'mag_field_of_study': ['Computer Science']}