Giter Site home page Giter Site logo

solar-group / apiarty Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 1.0 24.16 MB

Evaluating Automatic Program Repair Capabilities to Repair API Misuses

Home Page: https://solar.cs.ucl.ac.uk/APIARTy/

Dockerfile 0.93% Python 7.51% Shell 0.20% Java 91.37%
api-misuse automated-program-repair java effectiveness efficiency

apiarty's Introduction

APIARTy

APIARTy is an automated pipeline for evaluating and comparing automated program repair tools (repair tools) that can potentially detect and fix API misuses in Java programs. APIARTy currently includes MUBench, Bears, and Bugs.jar as bug benchmarks and state-of-the-art repair tools including Arja, Astor, Nopol, NPEFix, Avatar, TBar, and SimFix. APIARTy is evaluated on a new benchmark of API misuses, APIRepBench (see APIARTy/data and APIRepBench.xlsx).

This repository accompanies the paper Evaluating Automatic Program Repair Capabilities to Repair API Misuses. If you use APIARTy or APIRepBench, please cite our paper as follows:

M. Kechagia, S. Mechtaev, F. Sarro and M. Harman, "Evaluating Automatic Program Repair Capabilities to Repair API Misuses" in IEEE Transactions on Software Engineering, vol. , no. 01, pp. 1-1, 2021. doi: 10.1109/TSE.2021.3067156.

See this project's webpage in CREST/SOLAR, here.

For any questions on this project, please contact M. Kechagia or Prof. F. Sarro.

Goals

  • Execution of 14 repair tools on API misuses extracted from three bug benchmarks.
  • Comparison of the repair tools on their effectiveness and efficiency on repairing API misuses.
  • Examination of the effect of different API-misuse categories on the capabilities of API-repair tools.

Selected repair tools

The following table shows the automated repair tools used for comparing their capabilities on detecting and fixing API misuses.

# Tool Language Repository Checkout SHA
1 Nopol Java https://github.com/SpoonLabs/nopol bf4a92f
2 DynaMoth Java https://github.com/SpoonLabs/nopol bf4a92f
3 NPEFix Java https://github.com/SpoonLabs/npefix 80cfc38
4 jGenProg Java https://github.com/SpoonLabs/Astor da8a267
5 jKali Java https://github.com/SpoonLabs/Astor da8a267
6 jMutRepair Java https://github.com/SpoonLabs/Astor da8a267
7 Cardumen Java https://github.com/SpoonLabs/Astor da8a267
8 ARJA Java https://github.com/yyxhdy/arja 3e01305
9 ARJA-GenProg Java https://github.com/yyxhdy/arja 3e01305
10 ARJA-RSRepair Java https://github.com/yyxhdy/arja 3e01305
11 ARJA-Kali Java https://github.com/yyxhdy/arja 3e01305
12 Avatar Java https://github.com/SerVal-DTF/AVATAR 68a1386
13 TBar Java https://github.com/SerVal-DTF/TBar d1b1555
14 SimFix Java https://github.com/xgdsmileboy/SimFix c2a5319

Used bug benchmarks

The following table lists the bug benchmarks used for creating our benchmark of API misuses, APIRepBench (found in the data folder).

# Benchmark Language # Projects # Bugs # API Misuses # Final Projects Link
1 Bears Java 72 251 19 10 https://github.com/bears-bugs/bears-benchmark
2 Bugs.jar Java 8 1,159 40 7 https://github.com/bugs-dot-jar/bugs-dot-jar
3 MUBench Java 68 280 42 12 https://github.com/stg-tud/MUBench
Total 148 1,690 101 29

Usage

To deploy and use APIARTy, you need to install Docker. If you use APIARTy on a desktop, get Docker Desktop from the following link:

Set-up and deployment

To build a Docker image of this repository and run it on Docker you need to follow the next instructions:

  • git clone https://github.com/mkechagia/APIARTy.git
  • cd APIARTy
  • docker build -t apiarty .
  • docker run -it -v apiarty-findings:/apiarty/findings --rm apiarty or
  • docker run -it -v <absolute_path_to_store_results>:/apiarty/findings --rm apiarty (it locally stores the results).
  • Also, the following command can be used for keeping locally the data (buggy projects) docker run -it -v <absolute_path_to_store_results>:/apiarty/findings -v <absolute_path_to_store_results>:/apiarty/data --rm apiarty.

For more information about Docker, please check the following links:

Running APIARTy

data/*.json contains the projects' meta-data required by most repair tools. Easily you can add more .json files (i.e., projects) to detect and repair any bugs. The whole process can run on one project or on all. Just give the right commands presented in the following.

  1. To run an experiment on one project e.g., Bears-84, using one tool e.g., Kali, give the following command:
  • ./apiarty Arja-Kali Bears-84
  1. To analyse all the projects that exist in data using a particular repair tool e.g., Kali, give the following command:
  • ./apiarty Arja-Kali
  1. To run all tools (Arja, Astor, Nopol and NPEFix) on a project e.g., Bears-84, give the following command:
  • ./apiarty ALL Bears-84
  1. To run Avatar, TBar, or SimFix, apply the guidelines included in the guidelines.txt as these tools strictly use Defects4J commands.

Execution environment

All experiments run on an Ubuntu 16.04 Linux Docker image of APIARTy deployed on a 2-core PC with 8GB RAM and 3,1 GHz Intel Core i5 processor. We used Java 1.8 (amd64) ofthe OpenJDK, allocating up to 4GB for the JVM.

Repository structure

This repository is structured as follows:

APIARTy
├── APIRepBench.xlsx: information on the bugs of APIRepBench, patch correctness, execution time of repair attempts
├── Dockerfile
├── README.md
├── _config.yml
├── apiarty
├── apiarty.bin
│   ├── apiarty
│   └── bashrc
├── data: Our APIRepBench benchmark of API misuses
│   └── <bug_id>.json: standard input (with project metadata)
├── findings: findings for Astor, NPEFix, recent tools (Avatar, TBar, SimFix), and remaining tools (the general structure follows)
│   └── findings
│       ├── <bug_id>
│       │   └── <repair tool>
│       │       ├── stderr.txt: stderr of the execution (with repair)
│       │       └── stdout.txt: stdout of the execution (with repair)
│       ├── <bug_id>_avatar.txt: repair log of Avatar
│       ├── <bug_id>_tbar.txt: repair log of TBar
│       ├── <bug_id>_simfix.txt: repair log of SimFix
│       ├── all-results.csv: execution time taken by the repair attempts (without those that reach the timeout)
│       └── timeout.csv: repair attempts that failed by timeout
└── guidelines
    ├── Avatar
    │   ├── AbstractFixer.java
    │   ├── Configuration.java
    │   └── FLFix.sh
    └── guidelines.txt: specific guidelines for running Avatar, TBar, and SimFix

apiarty's People

Contributors

mkechagia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

wsgan001

apiarty's Issues

docker image build failed

Hi there, many thanks for open sourcing and the detailed README!
I tried to build the docker image with the Dockerfile provided. However, I met errors:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on project nopol: Compilation failure: Compilation failure:
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/Value.java:[4,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/common/Candidates.java:[4,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/Value.java:[15,16] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/Value.java:[17,33] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/Value.java:[27,28] cannot find symbol
[ERROR] symbol: class Type
[ERROR] location: interface fr.inria.lille.repair.expression.value.Value
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/common/Candidates.java:[110,30] cannot find symbol
[ERROR] symbol: class Type
[ERROR] location: class fr.inria.lille.repair.common.Candidates
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/ComplexValueImpl.java:[3,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/AbstractValue.java:[4,1] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/AbstractValue.java:[15,34] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/AbstractValue.java:[31,23] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/AbstractValue.java:[36,40] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/AbstractValue.java:[105,35] cannot find symbol
[ERROR] symbol: class Type
[ERROR] location: class fr.inria.lille.repair.expression.value.AbstractValue
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/filter/FieldFilter.java:[3,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/filter/FieldFilter.java:[9,37] cannot find symbol
[ERROR] symbol: class Field
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.filter.FieldFilter
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/SpoonElementsCollector.java:[3,1] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/SpoonElementsCollector.java:[40,31] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.SpoonElementsCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[3,1] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[4,27] package com.sun.jdi.request does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[32,19] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[45,34] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[143,78] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[164,41] cannot find symbol
[ERROR] symbol: class StackFrame
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[232,71] cannot find symbol
[ERROR] symbol: class Method
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[256,13] cannot find symbol
[ERROR] symbol: class ReferenceType
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[265,55] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[289,96] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[307,53] cannot find symbol
[ERROR] symbol: class ReferenceType
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[307,90] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[307,18] cannot find symbol
[ERROR] symbol: class Method
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[311,59] cannot find symbol
[ERROR] symbol: class ReferenceType
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[311,96] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[311,18] cannot find symbol
[ERROR] symbol: class Method
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[343,46] cannot find symbol
[ERROR] symbol: class ReferenceType
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[343,65] cannot find symbol
[ERROR] symbol: class Method
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[375,52] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[375,84] cannot find symbol
[ERROR] symbol: class Method
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[417,41] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/DynamothDataCollector.java:[417,96] cannot find symbol
[ERROR] symbol: class Method
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.DynamothDataCollector
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/filter/MethodFilter.java:[3,1] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/filter/MethodFilter.java:[10,37] cannot find symbol
[ERROR] symbol: class Method
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.filter.MethodFilter
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/collect/filter/MethodFilter.java:[14,37] cannot find symbol
[ERROR] symbol: class Method
[ERROR] location: class fr.inria.lille.repair.synthesis.collect.filter.MethodFilter
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[3,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[4,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[5,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[6,27] package com.sun.jdi.connect does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[7,27] package com.sun.jdi.connect does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[8,27] package com.sun.jdi.connect does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[18,12] cannot find symbol
[ERROR] symbol: class VirtualMachine
[ERROR] location: class fr.inria.lille.repair.vm.VMAcquirer
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[29,13] cannot find symbol
[ERROR] symbol: class AttachingConnector
[ERROR] location: class fr.inria.lille.repair.vm.VMAcquirer
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[39,36] cannot find symbol
[ERROR] symbol: class AttachingConnector
[ERROR] location: class fr.inria.lille.repair.vm.VMAcquirer
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[39,13] cannot find symbol
[ERROR] symbol: class VirtualMachine
[ERROR] location: class fr.inria.lille.repair.vm.VMAcquirer
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/VMAcquirer.java:[40,20] cannot find symbol
[ERROR] symbol: class IllegalConnectorArgumentsException
[ERROR] location: class fr.inria.lille.repair.vm.VMAcquirer
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/ArrayValueImpl.java:[8,34] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/ArrayValueImpl.java:[11,56] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/ArrayValueImpl.java:[35,23] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[3,1] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[4,1] package com.sun.jdi.event does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[5,27] package com.sun.jdi.request does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[6,27] package com.sun.jdi.request does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[7,27] package com.sun.jdi.request does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[52,13] cannot find symbol
[ERROR] symbol: class VirtualMachine
[ERROR] location: class fr.inria.lille.repair.synthesis.DynamothCodeGenesisImpl
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[191,52] cannot find symbol
[ERROR] symbol: class AbsentInformationException
[ERROR] location: class fr.inria.lille.repair.synthesis.DynamothCodeGenesisImpl
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[207,13] cannot find symbol
[ERROR] symbol: class BreakpointRequest
[ERROR] location: class fr.inria.lille.repair.synthesis.DynamothCodeGenesisImpl
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[208,13] cannot find symbol
[ERROR] symbol: class BreakpointRequest
[ERROR] location: class fr.inria.lille.repair.synthesis.DynamothCodeGenesisImpl
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[212,30] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.DynamothCodeGenesisImpl
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[251,42] cannot find symbol
[ERROR] symbol: class BreakpointEvent
[ERROR] location: class fr.inria.lille.repair.synthesis.DynamothCodeGenesisImpl
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[251,82] cannot find symbol
[ERROR] symbol: class IncompatibleThreadStateException
[ERROR] location: class fr.inria.lille.repair.synthesis.DynamothCodeGenesisImpl
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[292,33] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.DynamothCodeGenesisImpl
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/synthesis/DynamothCodeGenesisImpl.java:[373,45] cannot find symbol
[ERROR] symbol: class ThreadReference
[ERROR] location: class fr.inria.lille.repair.synthesis.DynamothCodeGenesisImpl
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/factory/ValueFactory.java:[3,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/factory/ValueFactory.java:[4,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/factory/ValueFactory.java:[5,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/factory/ValueFactory.java:[6,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/DebugJUnitRunner.java:[3,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/DebugJUnitRunner.java:[4,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/DebugJUnitRunner.java:[5,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/DebugJUnitRunner.java:[6,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/DebugJUnitRunner.java:[45,55] cannot find symbol
[ERROR] symbol: class VirtualMachine
[ERROR] location: class fr.inria.lille.repair.vm.DebugJUnitRunner
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/DebugJUnitRunner.java:[61,19] cannot find symbol
[ERROR] symbol: class VirtualMachine
[ERROR] location: class fr.inria.lille.repair.vm.DebugJUnitRunner
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/vm/DebugJUnitRunner.java:[119,33] cannot find symbol
[ERROR] symbol: class VirtualMachine
[ERROR] location: class fr.inria.lille.repair.vm.DebugJUnitRunner
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/TypeValueImpl.java:[3,19] package com.sun.jdi does not exist
[ERROR] /nopol/nopol/src/main/java/fr/inria/lille/repair/expression/value/TypeValueImpl.java:[6,26] cannot find symbol
[ERROR] symbol: class ClassType
[ERROR] location: class fr.inria.lille.repair.expression.value.TypeValueImpl
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
The command '/bin/sh -c git clone https://github.com/SpoonLabs/nopol.git /nopol && cd nopol && mvn package -DskipTests' returned a non-zero code: 1

I was wondering whether it is possible that the Dockerfile can be updated. Thank you in advance. Any suggestions are welcome. :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.