Show simple item record

dc.contributor.authorMilicevic, Aleksandar
dc.contributor.authorRayside, Derek
dc.contributor.authorYessenov, Kuat T.
dc.contributor.authorJackson, Daniel
dc.date.accessioned2012-08-09T20:29:05Z
dc.date.available2012-08-09T20:29:05Z
dc.date.issued2011-05
dc.identifier.isbn1450304451
dc.identifier.isbn978-1-4503-0445-0
dc.identifier.urihttp://hdl.handle.net/1721.1/72084
dc.description.abstractWe present a unified environment for running declarative specifications in the context of an imperative object-Oriented programming language. Specifications are Alloy-like, written in first-order relational logic with transitive closure, and the imperative language is Java. By being able to mix imperative code with executable declarative specifications, the user can easily express constraint problems in place, i.e., in terms of the existing data structures and objects on the heap. After a solution is found, the heap is updated to reflect the solution, so the user can continue to manipulate the program heap in the usual imperative way. We show that this approach is not only convenient, but, for certain problems can also outperform a standard imperative implementation. We also present an optimization technique that allowed us to run our tool on heaps with almost 2000 objects.en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machineryen_US
dc.relation.isversionofhttp://dx.doi.org/ 10.1145/1985793.1985863en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titleUnifying Execution of Imperative and Declarative Codeen_US
dc.typeArticleen_US
dc.identifier.citationMilicevic, Aleksandar et al. “Unifying Execution of Imperative and Declarative Code.” Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11, May 21–28, 2011, Honolulu, Hawaii, USA, ACM Press, 2011. 511. Web.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.approverJackson, Daniel
dc.contributor.mitauthorMilicevic, Aleksandar
dc.contributor.mitauthorRayside, Derek
dc.contributor.mitauthorYessenov, Kuat T.
dc.contributor.mitauthorJackson, Daniel
dc.relation.journalProceedings of the 33rd International Conference on Software Engineering (ICSE '11)en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
dspace.orderedauthorsMilicevic, Aleksandar; Rayside, Derek; Yessenov, Kuat; Jackson, Danielen
dc.identifier.orcidhttps://orcid.org/0000-0001-5959-5254
dc.identifier.orcidhttps://orcid.org/0000-0003-4864-078X
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record