Analysis of MiniJava']Java Programs via Translation to ML

被引:0
|
作者
Lester, Martin Mariusz [1 ]
机构
[1] Univ Reading, Dept Comp Sci, Reading, Berks, England
关键词
!text type='Java']Java[!/text; ML; automated verification; static analysis; program transformation;
D O I
10.1145/3340672.3341119
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
MiniJava is a subset of the object-oriented programming language Java. Standard ML is the canonical representative of the ML family of functional programming languages, which includes F# and OCaml. Different program analysis and verification tools and techniques have been developed for both Java-like and ML-like languages. Naturally, the tools developed for a particular language emphasise accurate treatment of language features commonly used in that language. In Java, this means objects with mutable properties and dynamic method dispatch. In ML, this means higher order functions and algebraic datatypes with pattern matching. We propose to translate programs from one language into the other and use the target language's tools for analysis and verification. By doing so, we hope to identify areas for improvement in the target language's tools and suggest techniques, perhaps as used in the source language's tools, that may guide their improvement. More generally, we hope to develop tools for reasoning about programs that are more resilient to changes in the style of code and representation of data. We begin our programme by outlining a translation from MiniJava to ML that uses only the core features of ML; in particular, it avoids the use of ML's mutable references.
引用
收藏
页数:3
相关论文
共 50 条
  • [1] An overview of MiniJava']Java
    Roberts, E
    PROCEEDINGS OF THE THIRTY-SECOND SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2001, 33 (01): : 1 - 5
  • [2] miniJava']Java: Automatic Miniaturization of Java']Java Applications
    Francese, Rita
    Risi, Michele
    Tortora, Genoveffa
    PROCEEDINGS OF THE WORKING CONFERENCE ON ADVANCED VISUAL INTERFACES AVI 2020, 2020,
  • [3] Coeffects for MINIJAVA']JAVA: CF-MJ
    Giannini, Paola
    Duso, Giulio
    PROCEEDINGS OF THE 26TH ACM INTERNATIONAL WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS, FTFJP 2024, 2024, : 30 - 36
  • [4] Case studies on translation of RTPA specifications into java']java programs
    Wang, YX
    Wu, MW
    IEEE CCEC 2002: CANADIAN CONFERENCE ON ELECTRCIAL AND COMPUTER ENGINEERING, VOLS 1-3, CONFERENCE PROCEEDINGS, 2002, : 675 - 680
  • [5] Detecting Build Conflicts in Software Merge for Java']Java Programs via Static Analysis
    Towqir, Sheikh Shadab
    Shen, Bowen
    Gulzar, Muhammad Ali
    Meng, Na
    PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022, 2022,
  • [6] AUTOMATIC TRANSLATION OF VDM SPECIFICATIONS INTO STANDARD ML PROGRAMS
    ONEILL, G
    COMPUTER JOURNAL, 1992, 35 (06): : 623 - 624
  • [7] Formal analysis of Java']Java programs in Java']JavaFAN
    Farzan, A
    Chen, F
    Meseguer, J
    Rosu, G
    COMPUTER AIDED VERIFICATION, 2004, 3114 : 501 - 505
  • [8] Automatic translation from combined B and CSP specification to Java']Java programs
    Yang, Letu
    Poppleton, Michael R.
    B 2007: FORMAL SPECIFICATION AND DEVELOPMENT IN B, PROCEEDINGS, 2007, 4355 : 64 - +
  • [9] Dynamic Purity Analysis for Java']Java Programs
    Xu, Haiying
    Pickett, Christopher J. F.
    Verbrugge, Clark
    PASTE'07 PROCEEDINGS OF THE 2007 ACM SIGPLAN- SIGSOFT WORKSHOP ON PROGRAM ANALYSIS FOR SOFTWARE TOOLS & ENGINEERING, 2007, : 75 - 82
  • [10] Dependence analysis for recursive Java']Java programs
    Xu, BW
    Chen, ZQ
    ACM SIGPLAN NOTICES, 2001, 36 (12) : 70 - 76