Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2015
DOI: 10.1145/2676726.2676979
|View full text |Cite
|
Sign up to set email alerts
|

Faster Algorithms for Algebraic Path Properties in Recursive State Machines with Constant Treewidth

Abstract: Interprocedural analysis is at the heart of numerous applications in programming languages, such as alias analysis, constant propagation, etc. 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 pa… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
24
0

Year Published

2015
2015
2021
2021

Publication Types

Select...
4
1
1

Relationship

4
2

Authors

Journals

citations
Cited by 19 publications
(24 citation statements)
references
References 55 publications
(69 reference statements)
0
24
0
Order By: Relevance
“…(2) The balanced tree-decompositions have been crucial in algorithms for interprocedural analysis [9] and verification of quantitative properties in graphs [5]. (3) The notion of (α, β, γ) tree-decompositions has been used in algorithmic dataflow analysis of concurrent programs [8].…”
Section: Remark 1 (Significance)mentioning
confidence: 99%
See 3 more Smart Citations
“…(2) The balanced tree-decompositions have been crucial in algorithms for interprocedural analysis [9] and verification of quantitative properties in graphs [5]. (3) The notion of (α, β, γ) tree-decompositions has been used in algorithmic dataflow analysis of concurrent programs [8].…”
Section: Remark 1 (Significance)mentioning
confidence: 99%
“…In this case the log in stderr is: [JTDec] [createTreeDec] Obtaining CFG of the method [JTDec] [createTreeDec] CFG obtained [JTDec] [createTreeDec] The lines were numbered as follows: [JTDec] [createTreeDec] 1: n := @parameter0: int [JTDec] [JTDec] [createTreeDec] Creating a list of neighbors of each node [JTDec] [createTreeDec] successors are: {1= [2], 2= [3], 3= [4,5], 4=[21], 5= [6], 6= [7], 7= [8,9], 8= [14], 9= [10], 10= [11], 11= [12], 12= [13] [JTDec] [createTreeDec] neighbors are:{1= [2], 2= [1,3,20], 3= [2,4,5], 4= [3,21], 5= [3,6], 6= [5,7], 7= [6,8,9], 8= [7,14], 9= [7,10], 10= [9,11], 11= [10,12], 12= [11,13], 13= [19,12], 14= [8,15], 15= [16,14], 17...…”
Section: B Example Of Usementioning
confidence: 99%
See 2 more Smart Citations
“…A topic of widespread interest in the programming languages community is that of on-demand analysis [5,24,30,44,60,64,65,68,77,78]. Such analysis has several advantages, such as (quoting from [44,65]) (i) narrowing down the focus to specific points of interest, (ii) narrowing down the focus to specific dataflow facts of interest, (iii) reducing work in preliminary phases, (iv) sidestepping incremental updating problems, and (v) offering demand analysis as a user-level operation.…”
Section: Introductionmentioning
confidence: 99%