当前位置: X-MOL 学术ACM Trans. Program. Lang. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Faster Algorithms for Dynamic Algebraic Queries in Basic RSMs with Constant Treewidth
ACM Transactions on Programming Languages and Systems ( IF 1.5 ) Pub Date : 2019-11-14 , DOI: 10.1145/3363525
Krishnendu Chatterjee 1 , Amir Kafshdar Goharshady 1 , Prateesh Goyal 2 , Rasmus Ibsen-Jensen 3 , Andreas Pavlogiannis 4
Affiliation  

Interprocedural analysis is at the heart of numerous applications in programming languages, such as alias analysis, constant propagation, and so on. Recursive state machines (RSMs) are standard models for interprocedural analysis. We consider a general framework with RSMs where the transitions are labeled from a semiring and path properties are algebraic with semiring operations. RSMs with algebraic path properties can model interprocedural dataflow analysis problems, the shortest path problem, the most probable path problem, and so on. The traditional algorithms for interprocedural analysis focus on path properties where the starting point is fixed as the entry point of a specific method. In this work, we consider possible multiple queries as required in many applications such as in alias analysis. The study of multiple queries allows us to bring in an important algorithmic distinction between the resource usage of the one-time preprocessing vs for each individual query. The second aspect we consider is that the control flow graphs for most programs have constant treewidth. Our main contributions are simple and implementable algorithms that support multiple queries for algebraic path properties for RSMs that have constant treewidth. Our theoretical results show that our algorithms have small additional one-time preprocessing but can answer subsequent queries significantly faster as compared to the current algorithmic solutions for interprocedural dataflow analysis. We have also implemented our algorithms and evaluated their performance for performing on-demand interprocedural dataflow analysis on various domains, such as for live variable analysis and reaching definitions, on a standard benchmark set. Our experimental results align with our theoretical statements and show that after a lightweight preprocessing, on-demand queries are answered much faster than the standard existing algorithmic approaches.

中文翻译:

具有恒定树宽的基本 RSM 中动态代数查询的更快算法

过程间分析是编程语言中众多应用程序的核心,例如别名分析、常量传播等。递归状态机 (RSM) 是用于过程间分析的标准模型。我们考虑一个带有 RSM 的通用框架,其中转换是从半环标记的,路径属性是半环操作的代数。具有代数路径属性的 RSM 可以对过程间数据流分析问题、最短路径问题、最可能路径问题等进行建模。用于过程间分析的传统算法侧重于起点为固定的作为特定方法的入口点。在这项工作中,我们考虑了许多应用程序(例如别名分析)中可能需要的多个查询。对多个查询的研究使我们能够在算法的资源使用之间引入重要的区别一度预处理 vs for每个人询问。我们考虑的第二个方面是大多数程序的控制流图具有恒定的树宽。我们的主要贡献是简单且可实现的算法,支持对具有恒定树宽的 RSM 的代数路径属性的多个查询。我们的理论结果表明,与当前用于过程间数据流分析的算法解决方案相比,我们的算法具有少量额外的一次性预处理,但可以显着更快地回答后续查询。我们还实现了我们的算法并评估了它们在标准基准集上对各种域执行按需过程间数据流分析的性能,例如实时变量分析和达到定义。
更新日期:2019-11-14
down
wechat
bug