The Java Build Framework: Large Scale Compilation

04/12/2018
by   Pedro Martins, et al.
0

Large repositories of source code for research tend to limit their utility to static analysis of the code, as they give no guarantees on whether the projects are compilable, much less runnable in any way. The immediate consequence of the lack of large compilable and runnable datasets is that research that requires such properties does not generalize beyond small benchmarks. We present the Java Build Framework, a method and tool capable of automatically compiling a large percentage of Java projects available in open source repositories like GitHub. Two elements are at the core: a very large repository of JAR files, and techniques of resolution of compilation faults and dependencies.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/12/2018

Evaluating Maintainability Prejudices with a Large-Scale Study of Open-Source Projects

Exaggeration or context changes can render maintainability experience in...
research
03/11/2020

On Tracking Java Methods with Git Mechanisms

Method-level historical information is useful in research on mining soft...
research
12/04/2017

A Quantitative Study of Java Software Buildability

Researchers, students and practitioners often encounter a situation when...
research
06/14/2021

CodeLabeller: A Web-based Code Annotation Tool for Java Design Patterns and Summaries

The appropriate use of design patterns in code is a vital measurement of...
research
05/15/2023

A Language Model of Java Methods with Train/Test Deduplication

This tool demonstration presents a research toolkit for a language model...
research
06/20/2023

Outside the Sandbox: A Study of Input/Output Methods in Java

Programming languages often demarcate the internal sandbox, consisting o...
research
08/19/2019

The Strengths and Behavioral Quirks of Java Bytecode Decompilers

During compilation from Java source code to bytecode, some information i...

Please sign up or login with your details

Forgot password? Click here to reset