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
- Programmazione automatica
- logica Hoare
- affinamento del programma
- Design by Contract
- sintesi del programma
- codice proof-trasporto
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.