Show simple item record

dc.contributor.authorJeon, Jinseong
dc.contributor.authorQiu, Xiaokang
dc.contributor.authorFetter-Degges, Jonathan
dc.contributor.authorFoster, Jeffrey S.
dc.contributor.authorSolar-Lezama, Armando
dc.date.accessioned2016-06-09T14:16:51Z
dc.date.available2016-06-09T14:16:51Z
dc.date.issued2016-05
dc.identifier.isbn9781450339001
dc.identifier.urihttp://hdl.handle.net/1721.1/103076
dc.description.abstractSymbolic execution is a powerful program analysis technique, but it is difficult to apply to programs built using frameworks such as Swing and Android, because the framework code itself is hard to symbolically execute. The standard solution is to manually create a framework model that can be symbolically executed, but developing and maintaining a model is difficult and error-prone. In this paper, we present Pasket, a new system that takes a first step toward automatically generating Java framework models to support symbolic execution. Pasket's focus is on creating models by instantiating design patterns. Pasket takes as input class, method, and type information from the framework API, together with tutorial programs that exercise the framework. From these artifacts and Pasket's internal knowledge of design patterns, Pasket synthesizes a framework model whose behavior on the tutorial programs matches that of the original framework. We evaluated Pasket by synthesizing models for subsets of Swing and Android. Our results show that the models derived by Pasket are sufficient to allow us to use off-the-shelf symbolic execution tools to analyze Java programs that rely on frameworks.en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (CCF-1139021)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (CCF-1139056)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (CCF-1161775)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2884781.2884856en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceQiuen_US
dc.titleSynthesizing framework models for symbolic executionen_US
dc.typeArticleen_US
dc.identifier.citationJinseong Jeon, Xiaokang Qiu, Jonathan Fetter-Degges, Jeffrey S. Foster, and Armando Solar-Lezama. 2016. Synthesizing framework models for symbolic execution. In Proceedings of the 38th International Conference on Software Engineering (ICSE '16). ACM, New York, NY, USA, 156-167.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.mitauthorQiu, Xiaokangen_US
dc.contributor.mitauthorSolar-Lezama, Armandoen_US
dc.relation.journalProceedings of the 38th International Conference on Software Engineering (ICSE '16)en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dspace.orderedauthorsJeon, Jinseong; Qiu, Xiaokang; Fetter-Degges, Jonathan; Foster, Jeffrey S.; Solar-Lezama, Armandoen_US
dspace.embargo.termsNen_US
dc.identifier.orcidhttps://orcid.org/0000-0001-7604-8252
dc.identifier.orcidhttps://orcid.org/0000-0001-9476-7349
mit.licenseOPEN_ACCESS_POLICYen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record