2016-04-07 11 views
7

Ich lerne gerade über Modellprüfung (Modallogik, LTL, CTL, SAL Model Checker, etc.) und in meiner Freizeit lerne ich über Idris, die eine stark typisierte funktionale Programmiersprache ist, die abhängige Typen unterstützt. Da ich sowohl Model Checking als auch Idris betrachte, beginne ich neugierig zu werden, wie sich Idris auf Formale Methoden und Model Checking bezieht.Relevanz der Modellprüfung in stark typisierten funktionalen Programmiersprachen?

Wenn man etwas über Modellüberprüfung erfährt, fühlt es sich an, als ob die meisten vorgestellten Beispiele entweder die Überprüfung von imperativ geschriebenen Systemen oder Hardwarekomponenten sind. Daher bin ich verwirrt über die Relevanz der Modellüberprüfung in stark typisierten funktionalen Programmiersprachen und insbesondere in einer abhängig typisierten Sprache wie Idris, wo es mir scheint, dass der Typüberprüfer bereits eine fantastische Arbeit bei der Überprüfung der Korrektheit leistet. Meine Intuition sagt mir jedoch, dass Model Checking vielleicht für partielle Funktionen relevant ist, die keine Beendigungsversprechen geben.

Ist die Modellprüfung relevant, wenn eine stark und abhängige Programmiersprache wie Idris verwendet wird?

Antwort

2

Sie haben Recht, dass die Modellprüfung am häufigsten für die Hardware-Verifikation und für zwingende (oft gleichzeitige) Programme verwendet wird, da auch deren Ursprung in diesem Bereich liegt. Für funktionale Programme werden aufwendige Typsystemtechniken weitverbreitet zur Verifikation verwendet. Sie erfordern jedoch oft viele Anmerkungen oder können "falsche Positive" erzeugen, was zur Widerlegung eines "korrekten" Programms führt. Model Checking benötigt diese Annotationen nicht und kann auch spezifischere Fragen beantworten. Ich bin kein Experte auf diesem Gebiet, aber es scheint, dass Techniken von Typsystemen und Modellprüfung oft für funktionale Programme kombiniert werden. Wenn Sie Interesse an der aktuellen Forschung sind und Ansätze für Modelchecking funktionaler Programme, gibt es eine ausgezeichnete natürlich mit viel Material online:

http://www.cs.ox.ac.uk/people/luke.ong/personal/EWSCS13

Der Kurs von Luke Ong vorbereitet wurde, einer der führenden Forscher auf dem Gebiet.

Verwandte Themen