org.inria.sacha.automaticRepair

Automatic program repair for Java with generate-and-validate techniques :v::v:: jGenProg (2014) - jMutRepair (2016) - jKali (2016) - DeepRepair (2017) - Cardumen (2018) - 3sfix (2018)

https://github.com/spoonlabs/astor

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, ieee.org, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.5%) to scientific vocabulary

Keywords

dynamic-analysis inria kth patch patch-generation program-repair repair
Last synced: 6 months ago · JSON representation

Repository

Automatic program repair for Java with generate-and-validate techniques :v::v:: jGenProg (2014) - jMutRepair (2016) - jKali (2016) - DeepRepair (2017) - Cardumen (2018) - 3sfix (2018)

Basic Info
Statistics
  • Stars: 211
  • Watchers: 11
  • Forks: 108
  • Open Issues: 76
  • Releases: 0
Topics
dynamic-analysis inria kth patch patch-generation program-repair repair
Created over 11 years ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

ASTOR: A Program Repair Library for Java

Build Status

Astor is an automatic software repair framework in Java for Java, done by Inria, the University of Lille, the Universit Polytechnique Hauts-de-France, and KTH Royal Institute of Technology. Astor is an acronym standing for "Automatic Software Transformations fOr program Repair".

If you use Astor for academic purposes, please cite the appropriate publication:

Matias Martinez, Martin Monperrus, "ASTOR: A Program Repair Library for Java", in Proceedings of ISSTA, Demonstration Track, 2016.

@inproceedings{martinez:hal-01321615,
 title = {ASTOR: A Program Repair Library for Java},
 author = {Martinez, Matias and Monperrus, Martin},
 booktitle = {Proceedings of ISSTA},
 year = {2016},
 doi = {10.1145/2931037.2948705},
}

See also:

Contributing

We do welcome bug fixes, features and new repair approaches as pull request. Welcome to Astor!

Contributors:

  • Matias Martinez (Universitat Politecnica de Catalunya - BarcelonaTech, Spain) (project leader: matias.sebastian.martinez@gmail.com)
  • Martin Monperrus (KTH Royal Institute of Technology, Sweden) (martin.monperrus@csc.kth.se)
  • Thomas Durieux (Inria, France)
  • Martin G. White (William and Mary, USA)
  • Claire Le Goues (CMU, USA)
  • Simon Urli (Inria, France)
  • Yi Wu (Southern University of Science and Technology, China).

jGenProg

jGenProg is an implementation of GenProg. The experiments about jGenProg are described in:

jKali

jKali is an implementation of Kali. The experiments about jKali are described in:

jMutRepair

jMutRepair is an implementation of mutation-based repair. The experiments about jMutRepair are described in

DeepRepair

DeepRepair is an extension of jGenProg leveraging code similarity. The experiments about DeepRepair are described in

Cardumen

Cardumen is a repair approach based on mined templates. The experiments about Cardumen are described in

3sfix

3sfix is a repair approach based on selecting the most similar repair ingredients.

Usage

Usage of Astor in education

Make a PR to add your course here :-)

Astor in the literature

  • M. Wen, J. Chen, R. Wu, D. Hao, and S. Cheung. Context-aware patch generation for better automated program repair. In Proceedings of the 40th International Conference on Software Engineering (ICSE 2018).

  • X. Liu and H. Zhong, Mining stackoverflow for program repair, IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), 2018.

  • Urli, S., Yu, Z., Seinturier, L., & Monperrus, M. How to design a program repair bot?: insights from the repairnator project. In Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice (pp. 95-104). ACM. 2018.

  • K. Naitou, A. Tanikado, S. Matsumoto, Y. Higo, S. Kusumoto, H. Kirinuki, T. Kurabayashi, H. Tanno, Haruto. Toward introducing automated program repair techniques to industrial software development. ICPC, 2018.

  • L. Azevedo, A. Dantas, C. Camilo-Junior. DroidBugs: An Android Benchmark for Automated Program Repair. arXiv preprint arXiv:1809.07353, 2018.

  • Ye, H., Martinez, M., & Monperrus, M. A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmark. arXiv preprint arXiv:1805.03454, 2018.

  • C. Trad, R. Abou Assi, W. Masri, F. Zaraket. CFAAR: Control Flow Alteration to Assist Repair. ArXiv preprint arXiv:1808.09229, 2018.

  • A. Tanikado, H. Yokoyama, M. Yamamoto, S. Sumi, Y. Higo, and S. Kusumoto. New strategies for selecting reuse candidates on automated program repair. In 2017 IEEE 41st Annual Computer Software and Appli- cations Conference (COMPSAC), volume 2, pages 266267, July 2017.

  • Ming Wen, Junjie Chen, Rongxin Wu, Dan Hao, and Shing-Chi Cheung. An empirical analysis of the influence of fault space on search-based automated program repair. Arxiv 1707.05172, 2017.

  • Liu, Yuefei. Understanding and generating patches for bugs introduced by third-party library upgrades. Masters thesis, 2017.

  • Qi Xin and Steven P Reiss. Leveraging syntax-related code for automated program repair. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 660670. IEEE, 2017.

  • Matias Martinez, Thomas Durieux, Romain Sommerard, Jifeng Xuan, and Martin Monperrus. Automatic repair of real bugs in java: A large-scale experiment on the defects4j dataset. Empirical Software Engineering, pages 129, 2016

  • Xuan Bach D Le, David Lo, and Claire Le Goues. History driven program repair. In Software Analysis, Evolution, and Reengineering (SANER), 2016 IEEE 23rd International Conference on, volume 1, pages 213224. IEEE, 2016.

  • Yingfei Xiong, Jie Wang, Runfa Yan, Jiachen Zhang, Shi Han, Gang Huang, and Lu Zhang. Precise condition synthesis for program repair. In Proceedings of the 39th International Conference on Software Engineering, ICSE 17, pages 416426, Piscataway, NJ, USA, 2017. IEEE Press.

  • Yuan Yuan and Wolfgang Banzhaf. Arja: Automated repair of java programs via multi-objective genetic programming, 2017. Arviv 1712.07804.

  • Liushan Chen, Yu Pei, and Carlo A. Furia. Contract-based program repair without the contracts. In Proceedings of the 32Nd IEEE/ACM International Conference on Automated Software Engineering, ASE 2017, pages 637647, Piscataway, NJ, USA, 2017. IEEE Press

  • Ripon K. Saha, Yingjun Lyu, Hiroaki Yoshida, and Mukul R. Prasad. Elixir: Effective object oriented program repair. In Proceedings of the 32Nd IEEE/ACM International Conference on Automated Software Engineering, ASE 2017, pages 648659, Piscataway, NJ, USA, 2017. IEEE Press.

  • Manish Motwani, Sandhya Sankaranarayanan, Ren e Just, and Yuriy Brun. Do automated program repair techniques repair hard and important bugs? Empirical Software Engineering, pages 147, 2017.

  • H. Yokoyama, Y. Higo, and S. Kusumoto. Evaluating automated program repair using characteristics of defects. In 2017 8th International Workshop on Empirical Software Engineering in Practice (IWESEP), pages 4752, March 2017.

  • Xinyuan Liu, Muhan Zeng, Yingfei Xiong, Lu Zhang, and Gang Huang. Identifying patch correctness in test-based automatic program repair. arXiv preprint arXiv:1706.09120, 2017.

  • Jiajun Jiang and Yingfei Xiong. Can defects be fixed with weak test suites? an analysis of 50 defects from defects4j. arXiv preprint arXiv:1705.04149, 2017.

Owner

  • Name: SpoonLabs
  • Login: SpoonLabs
  • Kind: organization

The laboratory for Java source code analysis and transformation using Spoon

GitHub Events

Total
  • Issues event: 1
  • Watch event: 5
  • Push event: 2
  • Pull request event: 1
  • Fork event: 2
Last Year
  • Issues event: 1
  • Watch event: 5
  • Push event: 2
  • Pull request event: 1
  • Fork event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 56
  • Total pull requests: 44
  • Average time to close issues: 21 days
  • Average time to close pull requests: about 1 month
  • Total issue authors: 20
  • Total pull request authors: 11
  • Average comments per issue: 2.79
  • Average comments per pull request: 1.55
  • Merged pull requests: 23
  • Bot issues: 0
  • Bot pull requests: 17
Past Year
  • Issues: 4
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 days
  • Issue authors: 3
  • Pull request authors: 3
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.33
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • juliamanfrindias (10)
  • martinezmatias (9)
  • ssk1216 (7)
  • MaximoOliveira (5)
  • monperrus (5)
  • qiujiangkun (2)
  • andre15silva (2)
  • WuYff (2)
  • Amirfarhad-Nilizadeh (2)
  • Fibien (2)
  • jianghc2116 (2)
  • KwanghoKim (2)
  • lapplislazuli (1)
  • SNielebock (1)
  • VidmS (1)
Pull Request Authors
  • dependabot[bot] (17)
  • andre15silva (8)
  • martinezmatias (8)
  • monperrus (5)
  • MaximoOliveira (3)
  • zaricu22 (2)
  • qiujiangkun (2)
  • dginelli (1)
  • alcides (1)
  • lapplislazuli (1)
  • cokefh (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
dependencies (17)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 2
  • Total dependent repositories: 5
  • Total versions: 3
repo1.maven.org: org.inria.sacha.automaticRepair:astor

ASTOR: AST transformation for Repairs

  • Versions: 3
  • Dependent Packages: 2
  • Dependent Repositories: 5
Rankings
Dependent repos count: 10.9%
Forks count: 18.7%
Average: 18.9%
Stargazers count: 23.0%
Dependent packages count: 23.1%
Last synced: 6 months ago

Dependencies

examples/Lang-issue-428/pom.xml maven
  • junit:junit 4.7 test
  • org.easymock:easymock 2.5.2 test
examples/Math-0c1ef/pom.xml maven
  • junit:junit 4.11 test
examples/Math-0c1ef/src/userguide/pom.xml maven
  • com.xeiam.xchart:xchart 2.3.0
  • org.apache.commons:commons-lang3 3.1
  • org.apache.commons:commons-math3 3.5-SNAPSHOT
  • org.piccolo2d:piccolo2d-core 3.0
  • org.piccolo2d:piccolo2d-extras 3.0
examples/Math-0c1ef/target/classes/META-INF/maven/org.apache.commons/commons-math3/pom.xml maven
  • junit:junit 4.11 test
examples/Math-issue-280/pom.xml maven
  • junit:junit 4.4 test
examples/Math-issue-288/pom.xml maven
  • junit:junit 4.4 test
examples/Math-issue-309/pom.xml maven
  • junit:junit 4.4 test
examples/Math-issue-340/pom.xml maven
  • junit:junit 4.4 test
examples/example_return_arthmetic/pom.xml maven
  • junit:junit 4.10 test
examples/example_return_mutation/pom.xml maven
  • junit:junit 4.10 test
examples/introclass/3b2376/003/pom.xml maven
  • junit:junit 4.11
examples/introclass/68eb0b/000/pom.xml maven
  • junit:junit 4.11
examples/issues/LeapYearIssue196/pom.xml maven
  • junit:junit 4.12
examples/issues/LeapYearIssue196-bis/pom.xml maven
  • junit:junit 4.12
examples/issues/java-maven-junit-helloworld/pom.xml maven
  • junit:junit 4.12 test
examples/java-maven-junit-helloworld/pom.xml maven
  • org.hamcrest:hamcrest-core 1.3
  • org.mockito:mockito-junit-jupiter 2.21.0
  • org.junit.jupiter:junit-jupiter-api 5.2.0 test
  • org.junit.jupiter:junit-jupiter-engine 5.2.0 test
  • org.junit.jupiter:junit-jupiter-params 5.2.0 test
examples/jsoup31be24/pom.xml maven
  • junit:junit 4.5 test
examples/lang_1/pom.xml maven
  • commons-io:commons-io 2.4 test
  • junit:junit 4.11 test
  • org.easymock:easymock 3.1 test
examples/lang_39/pom.xml maven
  • junit:junit 4.7 test
examples/lang_55/pom.xml maven
  • junit:junit 3.8.1 test
examples/lang_63/pom.xml maven
  • junit:junit 3.8.1
examples/lang_7/pom.xml maven
  • commons-io:commons-io 2.4 test
  • junit:junit 4.10 test
  • org.easymock:easymock 3.1 test
examples/lang_8/pom.xml maven
  • commons-io:commons-io 2.4 test
  • junit:junit 4.10 test
  • org.easymock:easymock 3.1 test
examples/librepair-experiments-jhy-jsoup-285353482-20171009-062400_bugonly/pom.xml maven
  • com.google.code.gson:gson 2.7 test
  • junit:junit 4.12 test
examples/librepair-experiments-jhy-jsoup-285353482-20171009-062400_bugonly_with_package_info/pom.xml maven
  • com.google.code.gson:gson 2.7 test
  • junit:junit 4.12 test