首页 > 最新文献

ASIA-PEPM '02最新文献

英文 中文
Aliasing analysis for a million lines of C 对一百万行C的混叠分析
Pub Date : 2002-09-12 DOI: 10.1145/568173.568178
Nevin Heintze
We will describe the design and implementation of a fast points-to analysis system. On some industrial code bases (about a million lines of unpreprocessed C code) this system performs context-insensitive field-based Andersen-style points-to analysis in less than a second and uses less than 10MB of memory. The two main contributions of the work are a database-centric analysis architecture called compile-link-analyze (CLA), and a new graph-based algorithm for implementing a form of dynamic transitive closure. An open source release of our system should be available soon.
我们将描述一个快速点对点分析系统的设计和实现。在一些工业代码库(大约一百万行未预处理的C代码)上,该系统在不到一秒的时间内执行基于上下文不敏感字段的andersen风格的指向分析,并且使用不到10MB的内存。该工作的两个主要贡献是一个以数据库为中心的分析体系结构,称为编译-链接-分析(CLA),以及一个用于实现动态传递闭包形式的新的基于图的算法。我们的系统的开源版本应该很快就会发布。
{"title":"Aliasing analysis for a million lines of C","authors":"Nevin Heintze","doi":"10.1145/568173.568178","DOIUrl":"https://doi.org/10.1145/568173.568178","url":null,"abstract":"We will describe the design and implementation of a fast points-to analysis system. On some industrial code bases (about a million lines of unpreprocessed C code) this system performs context-insensitive field-based Andersen-style points-to analysis in less than a second and uses less than 10MB of memory. The two main contributions of the work are a database-centric analysis architecture called compile-link-analyze (CLA), and a new graph-based algorithm for implementing a form of dynamic transitive closure. An open source release of our system should be available soon.","PeriodicalId":187828,"journal":{"name":"ASIA-PEPM '02","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125655325","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Jones optimality, binding-time improvements, and the strength of program specializers 琼斯最优性,绑定时间的改进,以及程序专门化器的强度
Pub Date : 2002-09-12 DOI: 10.1145/568173.568175
R. Glück
Jones optimality tells us that a program specializer is strong enough to remove an entire level of self-interpretation. We show that Jones optimality, which was originally aimed at the Futamura projections, plays an important role in binding-time improvements. The main results show that, regardless of the binding-time improvements which we apply to a source program, no matter how extensively, a specializer that is not Jones-optimal is strictly weaker than a specializer which is Jones optimal. By viewing a binding-time improver as a generating extension of a self-interpreter, we can connect our results with previous work on the interpretive approach.
Jones最优性告诉我们,程序专门化器足够强大,可以消除整个级别的自我解释。我们表明,最初针对Futamura预测的Jones最优性在约束时间改进中起着重要作用。主要结果表明,无论我们对源程序应用的绑定时间改进有多大,非琼斯最优的专门化器都严格弱于琼斯最优的专门化器。通过将绑定时间改进器视为自解释器的生成扩展,我们可以将我们的结果与先前关于解释性方法的工作联系起来。
{"title":"Jones optimality, binding-time improvements, and the strength of program specializers","authors":"R. Glück","doi":"10.1145/568173.568175","DOIUrl":"https://doi.org/10.1145/568173.568175","url":null,"abstract":"Jones optimality tells us that a program specializer is strong enough to remove an entire level of self-interpretation. We show that Jones optimality, which was originally aimed at the Futamura projections, plays an important role in binding-time improvements. The main results show that, regardless of the binding-time improvements which we apply to a source program, no matter how extensively, a specializer that is not Jones-optimal is strictly weaker than a specializer which is Jones optimal. By viewing a binding-time improver as a generating extension of a self-interpreter, we can connect our results with previous work on the interpretive approach.","PeriodicalId":187828,"journal":{"name":"ASIA-PEPM '02","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116753868","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 14
On obtaining Knuth, Morris, and Pratt's string matcher by partial evaluation 用部分求值法求出Knuth, Morris,和Pratt的字符串匹配器
Pub Date : 2002-07-05 DOI: 10.1145/568173.568177
M. Ager, O. Danvy, H. Rohde
We present the first formal proof that partial evaluation of a quadratic string matcher can yield the precise behaviour of Knuth, Morris, and Pratt's linear string matcher.Obtaining a KMP-like string matcher is a canonical example of partial evaluation: starting from the naive, quadratic program checking whether a pattern occurs in a text, one ensures that backtracking can be performed at partial-evaluation time (a binding-time shift that yields a staged string matcher); specializing the resulting staged program yields residual programs that do not back up on the text, a la KMP. We are not aware, however, of any formal proof that partial evaluation of a staged string matcher precisely yields the KMP string matcher, or in fact any other specific string matcher.In this article, we present a staged string matcher and we formally prove that it performs the same sequence of comparisons between pattern and text as the KMP string matcher. To this end, we operationally specify each of the programming languages in which the matchers are written, and we formalize each sequence of comparisons with a trace semantics. We also state the (mild) conditions under which specializing the staged string matcher with respect to a pattern string provably yields a specialized string matcher whose size is proportional to the length of this pattern string and whose time complexity is proportional to the length of the text string. Finally, we show how tabulating one of the functions in this staged string matcher gives rise to the 'next' table of the original KMP algorithm.The method scales for obtaining other linear string matchers, be they known or new.
我们提出了第一个正式证明,二次型字符串匹配器的部分求值可以产生Knuth, Morris和Pratt的线性字符串匹配器的精确行为。获得一个类似于kmp的字符串匹配器是部分求值的一个典型例子:从简单的二次型程序开始检查一个模式是否出现在文本中,确保回溯可以在部分求值时执行(一个产生分段字符串匹配器的绑定时间偏移);专门化所产生的阶段程序会产生不备份文本的剩余程序,就像KMP一样。然而,我们不知道有任何正式的证据表明,对分段字符串匹配器的部分求值精确地产生KMP字符串匹配器,或者实际上产生任何其他特定的字符串匹配器。在本文中,我们提出了一个分阶段的字符串匹配器,并正式证明了它在模式和文本之间执行与KMP字符串匹配器相同的比较序列。为此,我们在操作上指定编写匹配器的每种编程语言,并使用跟踪语义形式化每个比较序列。我们还陈述了(温和的)条件,在这些条件下,针对模式字符串专门化阶段字符串匹配器可证明产生专门化字符串匹配器,其大小与该模式字符串的长度成正比,其时间复杂度与文本字符串的长度成正比。最后,我们将展示如何将这个分段字符串匹配器中的一个函数制表为原始KMP算法的“下一个”表。该方法适用于获得其他线性字符串匹配器,无论是已知的还是新的。
{"title":"On obtaining Knuth, Morris, and Pratt's string matcher by partial evaluation","authors":"M. Ager, O. Danvy, H. Rohde","doi":"10.1145/568173.568177","DOIUrl":"https://doi.org/10.1145/568173.568177","url":null,"abstract":"We present the first formal proof that partial evaluation of a quadratic string matcher can yield the precise behaviour of Knuth, Morris, and Pratt's linear string matcher.Obtaining a KMP-like string matcher is a canonical example of partial evaluation: starting from the naive, quadratic program checking whether a pattern occurs in a text, one ensures that backtracking can be performed at partial-evaluation time (a binding-time shift that yields a staged string matcher); specializing the resulting staged program yields residual programs that do not back up on the text, a la KMP. We are not aware, however, of any formal proof that partial evaluation of a staged string matcher precisely yields the KMP string matcher, or in fact any other specific string matcher.In this article, we present a staged string matcher and we formally prove that it performs the same sequence of comparisons between pattern and text as the KMP string matcher. To this end, we operationally specify each of the programming languages in which the matchers are written, and we formalize each sequence of comparisons with a trace semantics. We also state the (mild) conditions under which specializing the staged string matcher with respect to a pattern string provably yields a specialized string matcher whose size is proportional to the length of this pattern string and whose time complexity is proportional to the length of the text string. Finally, we show how tabulating one of the functions in this staged string matcher gives rise to the 'next' table of the original KMP algorithm.The method scales for obtaining other linear string matchers, be they known or new.","PeriodicalId":187828,"journal":{"name":"ASIA-PEPM '02","volume":"80 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115314484","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 22
期刊
ASIA-PEPM '02
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1