skip to main content
10.1145/2972206.2972218acmotherconferencesArticle/Chapter ViewAbstractPublication PagespppjConference Proceedingsconference-collections
research-article

LLJava: Minimalist Structured Programming on the Java Virtual Machine [Work-in-Progress Research Paper]

Published: 29 August 2016 Publication History

Abstract

There is a wide gap in abstraction level between Java source code and JVM bytecode. Many important software-related tasks, such as specification and implementation of code synthesis procedures, code inspection, software understanding and teaching, can benefit from an adequate, intermediate level of abstraction. Available bytecode assembly/disassembly tools are ad-hoc and fall short of the requirements regarding compositionality and clarity. We report on the design and implementation of the LLJava language that bridges the gap, based on careful analysis of bytecode information and rigorous design.

References

[1]
ASM. OW2 Consortium. 2015. url: http://asm.ow2.org/.
[2]
Byte Code Engineering Library (BCEL). Apache Commons. 2014. url: https://commons.apache.org/proper/commons-bcel/index.html.
[3]
T. Downing and J. Meyer. JAVA Virtual Machine. O'Reilly, 1996. isbn: 978-1565921948.
[4]
J. Engel. Code for book Programming for the Java Virtual Machine. GitHub, 2010. url: https://github.com/ymasory/programming-for-the-jvm/.
[5]
J. Engel. Programming for the Java Virtual Machine. Addison-Wesley, 1999. isbn: 978-0201309720.
[6]
R. Grosse. Krakatau Bytecode Tools. GitHub, 2015. url: https://github.com/Storyyeller/Krakatau/.
[7]
T. Lindholm et al. The Java Virtual Machine Specification. Java SE 7. JSR-000924. Oracle, 2013.
[8]
J. Meyer and D. Reynaud. Jasmin Home Page. 2005. url: http://jasmin.sourceforge.net/.
[9]
R. Vallée-Rai et al. "Soot -- a Java Bytecode Optimization Framework". In: Proc. CASCON. IBM, 1999.

Cited By

View all
  • (2024)Imagine There’s No Source Code: Replay Diagnostic Location Information in Dynamic EDSL Meta-programmingProceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3679007.3685061(48-54)Online publication date: 13-Sep-2024
  • (2021)LLJava live at the loop: a case for heteroiconic staged meta-programmingProceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3475738.3480942(113-126)Online publication date: 29-Sep-2021
  • (2019)Improving the Performance of the Paisley Pattern-Matching EDSL by Staged Combinatorial CompilationDeclarative Programming and Knowledge Management10.1007/978-3-030-46714-2_17(268-285)Online publication date: 9-Sep-2019
  1. LLJava: Minimalist Structured Programming on the Java Virtual Machine [Work-in-Progress Research Paper]

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    PPPJ '16: Proceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
    August 2016
    186 pages
    ISBN:9781450341356
    DOI:10.1145/2972206
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 29 August 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Java virtual machine
    2. assembler/disassembler
    3. bytecode
    4. code model
    5. ergonomics

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    PPPJ '16
    PPPJ '16: Virtual Machines, Languages, and Tools
    August 29 - September 2, 2016
    Lugano, Switzerland

    Acceptance Rates

    PPPJ '16 Paper Acceptance Rate 14 of 31 submissions, 45%;
    Overall Acceptance Rate 29 of 58 submissions, 50%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 05 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Imagine There’s No Source Code: Replay Diagnostic Location Information in Dynamic EDSL Meta-programmingProceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3679007.3685061(48-54)Online publication date: 13-Sep-2024
    • (2021)LLJava live at the loop: a case for heteroiconic staged meta-programmingProceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3475738.3480942(113-126)Online publication date: 29-Sep-2021
    • (2019)Improving the Performance of the Paisley Pattern-Matching EDSL by Staged Combinatorial CompilationDeclarative Programming and Knowledge Management10.1007/978-3-030-46714-2_17(268-285)Online publication date: 9-Sep-2019

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media