Tool Support for the Interactive Derivation of Formally Correct Functional Programs
نویسندگان
چکیده
This 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. 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 bookkeepingand 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.
منابع مشابه
System Support for the Interactive Transformation of Functional Programs
This paper describes the program transformation system Ultra. The intended use of Ultra is to assist programmers in the formal derivation of correct and ef-cient programs from high-level descriptive or operational speciications. The most salient features of Ul-tra are its sound theoretical foundation, its lean, and portable implementation, its extendability, its exible and convenient way to exp...
متن کاملKIDS - A Knowledge-Based Software Development System
The Kestrel Interactive Development System (KIDS) provides knowledge-based support for the derivation of correct and efficient programs from formal specifications. We trace the use of KIDS in deriving an algorithm for solving a problem arising from the design of sonar and radar signals. This derivation illustrates algorithm design, a generalized form of deductive inference, program simplificati...
متن کاملAutomatic Derivation of Loop Termination Conditions to Support Verification
This paper introduces a repeatable and constructive approach to the analysis of loop progress and termination conditions in imperative programs. It is applicable to all loops for which a variant function can be defined using only loop guard variables. The approach involves the algorithmic derivation of loop progress and termination conditions directly from the code itself. The derivation of the...
متن کاملDesign of Safe PLC Programs by Using Petri Nets and Formal Methods
The paper presents an approach which combines the formalism of Petri Nets and of model checking in order to deliver correct and dependable PLC programs. Based on SIPNs, a variant of PNs, the complete controller development process from an informal specification to the final implementation on a PLC is discussed. The SIPN formalized according to corresponding plant model enables the derivation of...
متن کاملCACHET: An Interactive, Incremental-Attribution-Based Program Transformation System for Deriving Incremental Programs
This paper describes the design and implementation of an interactive, incremental-attribution-based program transformation system, CACHET, that derives incre-mental programs from non-incremental programs written in a functional language. CACHET is designed as a programming environment and implemented using a language-based editor generator, the Synthesizer Generator , with extensions that suppo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- J. UCS
دوره 9 شماره
صفحات -
تاریخ انتشار 2003