derivazione Programma - Program derivation

In informatica , il programma di derivazione è la derivazione di un programma da sua specifica, con mezzi matematici.

Per ricavare un programma significa scrivere una specifica formale, che di solito è non eseguibile e quindi applicare le regole matematicamente corretti al fine di ottenere un programma eseguibile soddisfare tale specifica. Il programma così ottenuto viene quindi corretta costruzione. Programma e la correttezza prova sono costruiti insieme.

L'approccio di solito preso verifica formale è quello di scrivere prima un programma, e quindi fornire una prova che è conforme a una data specifica . I principali problemi con questo sono che

  • la prova risultante è spesso lungo e ingombrante;
  • nessuna intuizione è dato di come è stato sviluppato il programma; appare "come un coniglio da un cappello";
  • il programma dovrebbe capita di essere corretto in qualche modo sottile, il tentativo di verificare che è probabile che sia lungo e certo di essere inutile.

derivazione programma tenta di porre rimedio a queste carenze da

  • mantenendo prove più brevi, per lo sviluppo di appropriate notazioni matematiche;
  • prendere decisioni di progettazione attraverso la manipolazione formale del disciplinare.

Condizioni che sono grosso modo sinonimo di programma di derivazione sono: programmazione trasformazionale, algoritmica, la programmazione deduttiva.

Il Bird-Meertens formalismo è un approccio alla programma di derivazione.

Guarda anche

Riferimenti

  • Edsger Dijkstra , Wim HJ Feijen, un metodo di programmazione , Addison-Wesley, 1988, 188 pagine
  • Edward Cohen, programmazione nel 1990 , Springer-Verlag, 1990
  • Anne Kaldewaij, programmazione: la derivazione di algoritmi , Prentice-Hall, 1990, 216 pagine
  • David Gries, La scienza della programmazione , Springer-Verlag, 1981, 350 pagine
  • Carroll Morgan (informatico) , Programmazione da Specifiche , Serie Internazionale in Informatica (2a ed.), Prentice-Hall, 1998.
  • Eric CR Hehner , una teoria pratica di programmazione , 2008, 235 pagine
  • AJM van Gasteren. Sulla forma di argomenti matematici . Lecture Notes in Computer Science # 445, Springer-Verlag, 1990. insegna a scrivere le prove con chiarezza e precisione.
  • Martin Rem. "Le piccole esercizi di programmazione", apparso in Science of Computer Programming , Vol.3 (1983) attraverso Vol.14 (1990).
  • Roland Backhouse. Programma di costruzione: Calcolo Implementazioni dalle specifiche . Wiley, 2003. ISBN  978-0-470-84882-1 .
  • Derrick G. Kourie, Bruce W. Watson. L'approccio Correttezza-by-Costruzione di programmazione . Springer-Verlag, 2012. ISBN  978-3-642-27919-5 . Fornisce una spiegazione passo-passo su come derivare matematicamente algoritmi corretti con piccoli e trattabili parametri.