Handling Non-linear Operations in the Value Analysis of COSTA

被引:4
作者
Alonso, Diego [1 ]
Arenas, Puri [1 ]
Genaim, Samir [1 ]
机构
[1] Complutense Univ Madrid UCM, DSIC, Madrid, Spain
关键词
Resource usage analysis; value analysis; non-linear operations; bit arithmetic operations;
D O I
10.1016/j.entcs.2011.11.002
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Inferring precise relations between (the values of) program variables at different program points is essential for termination and resource usage analysis. In both cases, this information is used to synthesize ranking functions that imply the program's termination and bound the number of iterations of its loops. For efficiency, it is common to base value analysis on non-disjunctive abstract domains such as Polyhedra, Octagon, etc. While these domains are efficient and able to infer complex relations for a wide class of programs, they are often not sufficient for modeling the effect of non-linear and bit arithmetic operations. Modeling such operations precisely can be done by using more sophisticated abstract domains, at the price of performance overhead. In this paper we report on the value analysis of COSTA that is based on the idea of encoding the disjunctive nature of non-linear operations into the (abstract) program itself, instead of using more sophisticated abstract domains. Our experiments demonstrate that COSTA is able to prove termination and infer bounds on resource consumption for programs that could not be handled before.
引用
收藏
页码:3 / 17
页数:15
相关论文
共 23 条
[21]  
Sankaranarayanan S, 2006, LECT NOTES COMPUT SC, V4134, P3
[22]   A Termination Analyzer for Java']Java Bytecode Based on Path-Length [J].
Spoto, Fausto ;
Mesnard, Fred ;
Payet, Etienne .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2010, 32 (03)
[23]  
VALLEERAI R, 1999, P CASCON 1999, P125