Niezmienna oparte programowania - Invariant-based programming

Programowanie oparte niezmienna jest metodologia programowania, gdzie specyfikacje i niezmienniki są pisane przed faktycznym oświadczeń programowych. Spisanie niezmienników podczas procesu programowania ma szereg zalet: nie wymaga programatora, aby ich zamiary temat zachowania programu wyraźnej zanim faktycznie jej wdrażania i niezmienniki można ocenić dynamicznie podczas wykonywania złapać typowych błędów programistycznych. Ponadto, jeśli na tyle silny, niezmienniki mogą być wykorzystane w celu udowodnienia poprawności programu opartego na formalnych semantyki sprawozdań programowych. Połączona język programowania i specyfikacji, podłączony do potężnego systemu formalnego dowodu, będzie na ogół wymagane do pełnej weryfikacji programów nietrywialnych. W tym przypadku wysoki stopień automatyzacji dowodów jest również możliwe.

W większości istniejących języków programowania główne struktury organizowanie to blokuje przepływ sterowania, takie jak dla pętli , podczas gdy pętle i jeżeli sprawozdanie . Języki te mogą nie być idealne dla programowania niezmienników na pierwszej kondygnacji, ponieważ zmusza programistę do podejmowania decyzji o kontroli przepływu przed zapisaniem niezmienników. Ponadto, większość języków programowania nie mają dobre wsparcie dla specyfikacji pisania i niezmienników, ponieważ brakuje kwantyfikator operatorów i jeden zazwyczaj nie mogą wyrażać wyższe właściwości zamówienia.

Pomysł stworzenia programu wraz z jego dowód pochodzi z EW Dijkstra . Rzeczywiście pisanie niezmienniki przed sprawozdań programowych został uznany w wielu różnych formach MH van Emden, JC Reynolds i RJ Back .

Zobacz też

Uwagi

  1. ^ Powrót Ralph-Johan: Inwariant oparciu Programowanie: Podstawowe podejście i doświadczenie w nauczaniu , formalnych aspektów informatyki, 14 Luty 2008, ISSN 0934-5043 (Print) 1433-299X (Online)