| dc.contributor.author | Leino, K. Rustan M. | |
| dc.contributor.author | Yessenov, Kuat T | |
| dc.date.accessioned | 2016-12-20T18:30:24Z | |
| dc.date.available | 2016-12-20T18:30:24Z | |
| dc.date.issued | 2012-06 | |
| dc.date.submitted | 2011-12 | |
| dc.identifier.issn | 0934-5043 | |
| dc.identifier.issn | 1433-299X | |
| dc.identifier.uri | http://hdl.handle.net/1721.1/105892 | |
| dc.description.abstract | Stepwise refinement is a well-studied technique for developing a program from an abstract description to a concrete implementation. This paper describes a system with automated tool support for refinement, powered by a state-of-the-art verification engine that uses an SMT solver. Unlike previous refinement systems, users of the presented system interact only via declarations in the programming language. Another aspect of the system is that it accounts for dynamically allocated objects in the heap, so that data representations in an abstract program can be refined into ones that use more objects. Finally, the system uses a language with familiar imperative features, including sequential composition, loops, and recursive calls, offers a syntax with skeletons for describing program changes between refinements, and provides a mechanism for supplying witnesses when refining non-deterministic programs. | en_US |
| dc.publisher | Springer-Verlag | en_US |
| dc.relation.isversionof | http://dx.doi.org/10.1007/s00165-012-0254-3 | en_US |
| dc.rights | Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use. | en_US |
| dc.source | Springer-Verlag | en_US |
| dc.title | Stepwise refinement of heap-manipulating code in Chalice | en_US |
| dc.type | Article | en_US |
| dc.identifier.citation | Leino, K. Rustan M., and Kuat Yessenov. “Stepwise Refinement of Heap-Manipulating Code in Chalice.” Formal Aspects of Computing 24.4–6 (2012): 519–535. | en_US |
| dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | en_US |
| dc.contributor.mitauthor | Yessenov, Kuat T | |
| dc.relation.journal | Formal Aspects of Computing | en_US |
| dc.eprint.version | Author's final manuscript | en_US |
| dc.type.uri | http://purl.org/eprint/type/JournalArticle | en_US |
| eprint.status | http://purl.org/eprint/status/PeerReviewed | en_US |
| dc.date.updated | 2016-08-18T15:20:59Z | |
| dc.language.rfc3066 | en | |
| dc.rights.holder | British Computer Society | |
| dspace.orderedauthors | Leino, K. Rustan M.; Yessenov, Kuat | en_US |
| dspace.embargo.terms | N | en |
| dc.identifier.orcid | https://orcid.org/0000-0001-5959-5254 | |
| mit.license | PUBLISHER_POLICY | en_US |