Title :
Program specialisation in the refinement calculus
Author_Institution :
Sch. of Math. & Comput. Sci., Victoria Univ., Wellington, New Zealand
Abstract :
This paper presents an approach to program specialisation for nondeterministic imperative programs written in an extension of Dijkstra´s guarded commands language. Assertion statements are used to express information about inputs and program variables, and refinement laws are used to show how these assertions can be introduced, propagated through the program structure, and used to specialise various program constructs. This approach allows more general constraints than other work on program specialisation, which usually considers only fixed values for some of the inputs, and is easier to understand because the transformations used are all expressed entirely in terms of the programming language.
Keywords :
refinement calculus; software maintenance; software reusability; assertion statements; guarded commands language; inputs; nondeterministic imperative programs; program specialisation; program variables; programming language; refinement calculus; refinement laws; Calculus; Command languages; Computer languages; Data mining; Logic; Performance evaluation;
Conference_Titel :
Software Engineering Conference, 2001. APSEC 2001. Eighth Asia-Pacific
Print_ISBN :
0-7695-1408-1
DOI :
10.1109/APSEC.2001.991456