ADiJaC - Automatic Differentiation of Java']Java Classfiles

被引:5
|
作者
Slusanschi, Emil I. [1 ]
Dumitrel, Vlad [1 ]
机构
[1] Univ Politehn Bucuresti, Dept Comp Sci & Engn, Splaiul Independentei 313,Sect 6, Bucharest 060042, Romania
来源
关键词
Algorithms; Performance; Source transformation; REVERSE; TOOL; IMPLEMENTATION; OPTIMIZATION; MODE;
D O I
10.1145/2904901
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This work presents the current design and implementation of ADiJaC, an automatic differentiation tool for Java classfiles. ADiJaC uses source transformation to generate derivative codes in both the forward and the reverse modes of automatic differentiation. We describe the overall architecture of the tool and present various details and examples for each of the two modes of differentiation. We emphasize the enhancements that have been made over previous versions of ADiJaC and illustrate their influence on the generality of the tool and on the performance of the generated derivative codes. The ADiJaC tool has been used to generate derivatives for a variety of problems, including real-world applications. We evaluate the performance of such codes and compare it to derivatives generated by Tapenade, a well-established automatic differentiation tool for Fortran and C/C++. Additionally, we present a more detailed performance analysis of a real-world application. Apart from being the only general-purpose automatic differentiation tool for Java bytecode, we argue that ADiJaC's features and performance are comparable to those of similar mature tools for other programming languages such as C/C++ or Fortran.
引用
收藏
页数:33
相关论文
共 50 条
  • [1] A software fingerprinting scheme for Java']Java using classfiles obfuscation
    Fukushima, K
    Sakurai, K
    [J]. INFORMATION SECURITY APPLICATIONS, 2003, 2908 : 303 - 316
  • [2] Proof linking: Distributed verification of Java']Java classfiles in the presence of multiple classloaders
    Fong, PWL
    Cameron, RD
    [J]. USENIX ASSOCIATION PROCEEDINGS JAVA(TM) VIRTUAL MACHINE RESEARCH AND TECHNOLOGY SYMPOSIUM, 2001, : 53 - 66
  • [3] miniJava']Java: Automatic Miniaturization of Java']Java Applications
    Francese, Rita
    Risi, Michele
    Tortora, Genoveffa
    [J]. PROCEEDINGS OF THE WORKING CONFERENCE ON ADVANCED VISUAL INTERFACES AVI 2020, 2020,
  • [4] Automatic program specialization for Java']Java
    Schultz, UP
    Lawall, JL
    Consel, C
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2003, 25 (04): : 452 - 499
  • [5] Automatic Upgrade of Java']Java Libraries
    Tronicek, Zdenek
    [J]. ERCIM NEWS, 2012, (88): : 31 - 31
  • [6] Automatic assessment of Java']Java code
    Insa, David
    Silva, Josep
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2018, 53 : 59 - 72
  • [7] JCrasher: an automatic robustness tester for Java']Java
    Csallner, C
    Smaragdakis, Y
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2004, 34 (11): : 1025 - 1050
  • [8] Automatic Error Correction of Java']Java Programs
    Kern, Christian
    Esparza, Javier
    [J]. FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, 2010, 6371 : 67 - 81
  • [9] Automatic Translation from Circus to Java']Java
    Freitas, Angela
    Cavalcanti, Ana
    [J]. FM 2006: FORMAL METHODS, PROCEEDINGS, 2006, 4085 : 115 - 130
  • [10] An automatic method for refactoring Java']Java programs
    Yamazaki, S
    Nagata, M
    [J]. KNOWLEDGE-BASED SOFTWARE ENGINEERING, 2002, 80 : 167 - 172