{"title":"Program specialisation in the refinement calculus","authors":"L. Groves","doi":"10.1109/APSEC.2001.991456","DOIUrl":null,"url":null,"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.","PeriodicalId":130293,"journal":{"name":"Proceedings Eighth Asia-Pacific Software Engineering Conference","volume":"45 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings Eighth Asia-Pacific Software Engineering Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/APSEC.2001.991456","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
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.