Wyprowadzenie programu - Program derivation

W informatyce , Program wyprowadzenie jest wyprowadzenie programu z jego specyfikacją, za pomocą matematycznych.

Aby czerpać program oznacza napisać formalną specyfikację, która zwykle nie wykonywalny, a następnie zastosować matematycznie poprawne zasady w celu uzyskania wykonywalny programu spełniającego tę specyfikację. Otrzymany w ten sposób program jest następnie poprawna konstrukcji. Program i prawidłowość dowodem są skonstruowane razem.

Podejście zazwyczaj podejmowane w weryfikacji formalnej jest najpierw napisać program, a następnie dostarczyć dowód, że jest on zgodny z danej specyfikacji . Główne problemy z tym, że są

  • uzyskany dowód często długie i uciążliwe;
  • nie podano wgląd w jaki sposób program został opracowany; wydaje się, „jak królik z kapelusza”;
  • Program powinien zdarzyć się nieprawidłowe w jakiś subtelny sposób, próba ją zweryfikować może być długie i pewne, że będzie bezowocne.

Wyprowadzenie program próbuje rozwiązać te braki poprzez

  • utrzymywanie dowody krótsze, poprzez opracowanie odpowiednich zapisów matematycznych;
  • podejmowania decyzji projektowych poprzez formalne manipulacji specyfikacji.

Warunki, które są w przybliżeniu równoznaczne z programem wyprowadzenia to: programowanie transformacji, algorytmika, programowanie dedukcyjne.

Bird-Meertens Formalizm jest podejście do programu wyprowadzenia.

Zobacz też

Referencje

  • Edsger Dijkstra , Wim HJ Feijen, metoda programowania , Addison-Wesley, 1988, 188 stron
  • Edward Cohen Programowanie 1990 , Springer-Verlag, 1990
  • Anne Kaldewaij, Programowanie: Wyprowadzenie algorytmów , Prentice Hall, 1990, 216 stron
  • David Gries, The Science of Programming , Springer-Verlag, 1981, 350 stron
  • Carroll Morgan (informatyk) , programowanie od specyfikacji , Międzynarodowy Series in Computer Science (2nd ed.), Prentice Hall, 1998.
  • Eric CR Hehner , praktyczny teorii programowania , 2008, 235 stron
  • AJM van Gasteren. Na kształt Argumenty Matematycznych . Lecture Notes in Computer Science # 445, Springer-Verlag, 1990. Uczy, jak pisać dowody z jasnością i precyzją.
  • Martin Rem. "Małe Ćwiczenia programowanie", ukazała się w Science of Computer Programming , Vol.3 (1983) przez vol.14 (1990).
  • Roland Backhouse. Budowa Program: Obliczanie Wdrożenia od specyfikacji . Wiley, 2003. ISBN  978-0-470-84882-1 .
  • Derrick G. Kourie, Bruce W. Watson. Podejście Poprawność-by-Construction do programowania . Springer-Verlag, 2012. ISBN  978-3-642-27919-5 . Zapewnia wyjaśnienie krok po kroku, w jaki sposób czerpać matematycznie poprawne algorytmy wykorzystujące małe i tractable udoskonalenia.