JPure: A Modular Purity System for Java']Java

被引:0
|
作者
Pearce, David J. [1 ]
机构
[1] Victoria Univ Wellington, Sch Engn & Comp Sci, Wellington, New Zealand
来源
COMPILER CONSTRUCTION | 2011年 / 6601卷
关键词
SIDE-EFFECT ANALYSIS; PROGRAMS;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Purity Analysis is the problem of determining whether or not a method may have side-effects. This has applications in automatic parallelisation, extended static checking, and more. We present a novel purity system for Java that employs purity annotations which can be checked modularly. This is done using a flow-sensitive, intraprocedural analysis. The system exploits two properties, called freshness and locality, to increase the range of methods that can be considered pure. JPure also includes an inference engine for annotating legacy code. We evaluate our system against several packages from the Java Standard Library. Our results indicate it is possible to uncover significant amounts of purity efficiently.
引用
收藏
页码:104 / 123
页数:20
相关论文
共 50 条
  • [31] The Java']Java system dependence graph
    Walkinshaw, N
    Roper, M
    Wood, M
    THIRD IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION - PROCEEDINGS, 2003, : 55 - 64
  • [32] OpenJava']Java: A class-based macro system for Java']Java
    Tatsubori, M
    Chiba, S
    Killijian, MO
    Itano, K
    REFLECTION AND SOFTWARE ENGINEERING, 2000, 1826 : 117 - 133
  • [33] Java']Java, Java']Java, Java']Java and more
    Makulowich, JS
    DATABASE, 1997, 20 (01): : 74 - 75
  • [34] Design of a City Traveler Helper System based on Java']Java ME and Java']Java EE
    Wang, Limin
    Qi, Ming
    Lin, Qingyi
    SEVENTH WUHAN INTERNATIONAL CONFERENCE ON E-BUSINESS, VOLS I-III: UNLOCKING THE FULL POTENTIAL OF GLOBAL TECHNOLOGY, 2008, : 1227 - 1231
  • [35] A modular approach to real-time programming using actors and Java']Java
    Nigro, L
    Pupo, F
    CONTROL ENGINEERING PRACTICE, 1998, 6 (12) : 1485 - 1491
  • [36] jLISP: An Open, Modular and Extensible Java']Java-Based LISP Implementation
    Stockmayer, Andreas
    Schmidt, Mark
    Menth, Michael
    2016 28TH INTERNATIONAL TELETRAFFIC CONGRESS (ITC 28), VOL 1, 2016, : 205 - 208
  • [37] Expressive and modular predicate dispatch for Java
    Millstein, Todd
    Frost, Christopher
    Ryder, Jason
    Warth, Alessandro
    ACM Transactions on Programming Languages and Systems, 2009, 31 (02):
  • [38] Modular Termination Proofs of Recursive Java']Java Bytecode Programs by Term Rewriting
    Brockschmidt, Marc
    Otto, Carsten
    Giesl, Juergen
    22ND INTERNATIONAL CONFERENCE ON REWRITING TECHNIQUES AND APPLICATIONS (RTA'11), 2011, 10 : 155 - 170
  • [39] A Generic Type System for Featherweight Java']Java
    Schoepp, Ulrich
    Xu, Chuangjie
    PROCEEDINGS OF THE 23RD ACM INTERNATIONAL WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS (FTFJP '21), 2021, : 9 - 15
  • [40] JMaCS: a Java']Java monitoring and control system
    Dickens, Rob
    ADVANCED SOFTWARE AND CONTROL FOR ASTRONOMY II, PTS 1 & 2, 2008, 7019