Tool Support for the Interactive Derivation of Formally Correct Functional Programs

dc.creatorGuttmann,Walter
dc.creatorPartsch,Helmuth
dc.creatorSchulte,Wolfram
dc.creatorVullinghs,Ton
dc.date2003
dc.date.accessioned2024-02-06T12:52:14Z
dc.date.available2024-02-06T12:52:14Z
dc.descriptionThis paper describes the program transformation system Ultra. The intended use of Ultra is to assist programmers in the formal derivation of correct and efficient programs from high-level descriptive or operational specifications. We illustrate its utility by deriving a version of the Heapsort algorithm from a non-deterministic specification. Ultra supports equational reasoning about functional programs using defining equations, algebraic laws of underlying data structures, and transformation rules. The system does not only support modifying terms, but is also useful for bookkeeping and development navigating tasks. The most salient features of Ultra are its sound theoretical foundation, its extendability, its flexible and convenient way to express transformation tasks, its comfortable user interface, and its lean and portable implementation. Ultra itself is written in the functional language Gofer.
dc.formattext/html
dc.identifierhttps://doi.org/10.3217/jucs-009-02-0173
dc.identifierhttps://lib.jucs.org/article/27934/
dc.identifier.urihttps://openrepository.mephi.ru/handle/123456789/8294
dc.languageen
dc.publisherJournal of Universal Computer Science
dc.relationinfo:eu-repo/semantics/altIdentifier/eissn/0948-6968
dc.relationinfo:eu-repo/semantics/altIdentifier/pissn/0948-695X
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rightsJ.UCS License
dc.sourceJUCS - Journal of Universal Computer Science 9(2): 173-188
dc.subjectconstructive program development
dc.subjectequational reasoning
dc.subjectfunctional programming
dc.subjectheapsort
dc.subjectnon-deterministic specification
dc.subjectprogram transformation
dc.subjectUltra
dc.subjectunfold-fold
dc.titleTool Support for the Interactive Derivation of Formally Correct Functional Programs
dc.typeResearch Article
Файлы