Magic-sets transformation for the analysis of Java']Java bytecode

被引:0
|
作者
Payet, Etienne [1 ]
Spot, Fausto [2 ]
机构
[1] Univ Reunion, IREMIA, St Denis, France
[2] Univ Verona, Dipartimento Informat, I-37100 Verona, Italy
来源
STATIC ANALYSIS, PROCEEDINGS | 2007年 / 4634卷
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Denotational static analysis of Java bytecode has a nice and clean compositional definition and an efficient implementation with binary decision diagrams. But it models only the functional i.e., input/output behaviour of a program P, not enough if one needs P's internal behaviours i.e., from the input to some internal program points. We overcome this limitation with a technique used up to now for logic programs only. It adds new magic blocks of code to P, whose functional behaviours are the internal behaviours of P. We prove this transformation correct with an operational semantics. We define an equivalent denotational semantics, whose denotations for the magic blocks are hence the internal behaviours of P. We implement our transformation and instantiate it with abstract domains modelling sharing of two variables and non-cyclicity of variables. We get a static analyser for full Java bytecode that is faster and scales better than another operational pair-sharing analyser and a constraint-based pointer analyser.
引用
收藏
页码:452 / +
页数:3
相关论文
共 50 条
  • [31] Verified Java']Java Bytecode Verification
    Klein, Gerwin
    IT-INFORMATION TECHNOLOGY, 2005, 47 (02): : 107 - 110
  • [32] Experiments with Non-Termination Analysis for Java']Java Bytecode
    Payet, Etienne
    Spoto, Fausto
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 253 (05) : 83 - 96
  • [33] An Evaluation of Current Java']Java Bytecode Decompilers
    Hamilton, James
    Danicic, Sebastian
    2009 NINTH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2009, : 129 - 136
  • [34] Vulnerabilities Constraint Based Analysis Approach for Java']Java Bytecode Programs
    Achour, Safaa
    Benattou, Mohammed
    PROCEEDINGS OF 2018 6TH INTERNATIONAL CONFERENCE ON MULTIMEDIA COMPUTING AND SYSTEMS (ICMCS), 2018, : 93 - 98
  • [35] Using CLP Simplifications to Improve Java']Java Bytecode Termination Analysis
    Spoto, Fausto
    Lu, Lunjin
    Mesnard, Fred
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 253 (05) : 129 - 144
  • [36] PicoJava']Java: A direct execution engine for Java']Java bytecode
    McGhan, H
    O'Connor, M
    COMPUTER, 1998, 31 (10) : 22 - +
  • [37] Advanced obfuscation techniques for Java']Java bytecode
    Chan, JT
    Yang, W
    JOURNAL OF SYSTEMS AND SOFTWARE, 2004, 71 (1-2) : 1 - 10
  • [38] An Evaluation of Static Java']Java Bytecode Watermarking
    Hamilton, James
    Danicic, Sebastian
    WORLD CONGRESS ON ENGINEERING AND COMPUTER SCIENCE, VOLS 1 AND 2, 2010, : 1 - 8
  • [39] CIL to Java']Java-bytecode Translation for Static Analysis Leveraging
    Ferrara, Pietro
    Cortesi, Agostino
    Spoto, Fausto
    2018 ACM/IEEE CONFERENCE ON FORMAL METHODS IN SOFTWARE ENGINEERING (FORMALISE 2018), 2018, : 40 - 49
  • [40] Abstract Interpretation of Java']Java Bytecode in Sturdy
    Marx, Stefan
    Erdweg, Sebastian
    PROCEEDINGS OF THE 26TH ACM INTERNATIONAL WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS, FTFJP 2024, 2024, : 17 - 22