Authors
Xiaofei Xie, Bihuan Chen, Yang Liu, Wei Le, Xiaohong Li
Publication date
2016
Conference
FSE
Description
Loops are challenging structures for program analysis, especially when loops contain multiple paths with complex interleaving executions among these paths. In this paper, we first propose a classification of multi-path loops to understand the complexity of the loop execution, which is based on the variable updates on the loop conditions and the execution order of the loop paths. Secondly, we propose a loop analysis framework, named Proteus, which takes a loop program and a set of variables of interest as inputs and summarizes path-sensitive loop effects on the variables. The key contribution is to use a path dependency automaton (PDA) to capture the execution dependency between the paths. A DFS-based algorithm is proposed to traverse the PDA to summarize the effect for all feasible executions in the loop. The experimental results show that Proteus is effective in three applications: Proteus can 1) compute …
Total citations
20162017201820192020202120222023202418717797137
Scholar articles
X Xie, B Chen, Y Liu, W Le, X Li - Proceedings of the 2016 24th ACM SIGSOFT …, 2016