Publication:
Static analysis of multi-staged programs via unstaging translation

dc.contributor.authorChoi, W.
dc.contributor.authorAktemur, Tankut Barış
dc.contributor.authorYi, K.
dc.contributor.authorTatsuta, M.
dc.contributor.departmentComputer Science
dc.contributor.ozuauthorAKTEMUR, Tankut Bariş
dc.date.accessioned2011-03-11T12:33:30Z
dc.date.available2011-03-11T12:33:30Z
dc.date.issued2011
dc.descriptionDue to copyright restrictions, the access to the full text of this article is only available via subscription.
dc.description.abstractStatic analysis of multi-staged programs is challenging because thebasic assumption of conventional static analysis no longer holds: the program text itself is no longer a fixed static entity, but rather a dynamically constructed value. This article presents a semanticpreserving translation of multi-staged call-by-value programs into unstaged programs and a static analysis framework based on this translation. The translation is semantic-preserving in that every small-step reduction of a multi-staged program is simulated by the evaluation of its unstaged version. Thanks to this translation we can analyze multi-staged programs with existing static analysis techniques that have been developed for conventional unstaged programs: we first apply the unstaging translation, then we apply conventional static analysis to the unstaged version, and finally we cast the analysis results back in terms of the original staged program. Our translation handles staging constructs that have beenevolved to be useful in practice (typified in Lisp’s quasi quotation): open code as values, unrestricted operations on references and intentional variable-capturing substitutions. This article omits references for which we refer the reader to our companion technical report.en_US
dc.description.sponsorshipEngineering Research Center of Excellence Program of Korea Ministry of Education, Science and Technology(MEST) ; National Research Foundation of Korea(NRF)
dc.identifier.doi10.1145/1926385.1926397
dc.identifier.endpage92
dc.identifier.isbn978-1-4503-0490-0
dc.identifier.scopus2-s2.0-79251588087
dc.identifier.startpage81
dc.identifier.urihttp://hdl.handle.net/10679/150
dc.identifier.urihttps://doi.org/10.1145/1926385.1926397
dc.identifier.wos000289656100008
dc.language.isoengen_US
dc.peerreviewedyesen_US
dc.publicationstatuspublisheden_US
dc.publisherACMen_US
dc.relation.ispartofPOPL'11 Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
dc.relation.publicationcategoryInternational
dc.rightsrestrictedAccess
dc.subject.keywordsMulti-staged languagesen_US
dc.subject.keywordsStatic analysisen_US
dc.subject.keywordsSemantics preservationen_US
dc.subject.keywordsUnstaging translationen_US
dc.subject.keywordsAbstract interpretationen_US
dc.subject.keywordsProjectionen_US
dc.titleStatic analysis of multi-staged programs via unstaging translationen_US
dc.typeconferenceObjecten_US
dspace.entity.typePublication
relation.isOrgUnitOfPublication85662e71-2a61-492a-b407-df4d38ab90d7
relation.isOrgUnitOfPublication.latestForDiscovery85662e71-2a61-492a-b407-df4d38ab90d7

Files

Collections