java-air
Java code analysis and manipulation front-end for Rascal programmers, based on Eclipse JDT
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 29 committers (3.4%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (5.1%) to scientific vocabulary
Keywords from Contributors
Repository
Java code analysis and manipulation front-end for Rascal programmers, based on Eclipse JDT
Basic Info
- Host: GitHub
- Owner: usethesource
- License: bsd-2-clause
- Language: Java
- Default Branch: main
- Size: 6.02 MB
Statistics
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 5
- Releases: 0
Metadata Files
README.md
Java AiR
This is the default front-end for analyzing and manipulating Java source code and JVM bytecode for Rascal users.
This used to be a part of Rascal's standard library in lang::java::** until March 2025 when we factored it out to keep the Rascal core smaller.
All documentation and meta-data, and API docs, can be found at http://www.rascal-mpl.org/Packages/JavaAir .
Owner
- Name: Use The Source
- Login: usethesource
- Kind: organization
- Email: jurgen.vinju@cwi.nl
- Website: http://www.usethesource.io
- Repositories: 26
- Profile: https://github.com/usethesource
Open Source Projects around Meta Programming
Citation (CITATION.md)
# Publications
This work motivated the initial Java analysis framework, as well as others (PHP):
```bibtex
@inproceedings{ossmeter1,
author = {Di Ruscio, Davide and Kolovos, Dimitrios S. and Korkontzelos, Ioannis and Matragkas, Nicholas and Vinju, Jurgen},
title = {OSSMETER: A Software Measurement Platform for Automatically Analysing Open Source Software Projects},
booktitle = {ESEC/FSE 2015 Tool Demonstrations Track},
year = {2015}
}
```
This work makes extensive use of the Java analysis framework, and extended it with flow analysis:
```bibtex
@inproceedings{icse17,
author = {Davy Landman and Alexander Serebrenik and Jurgen J. Vinju},
title = {Challenges for Static Analysis of Java Reflection – Literature Review and Empirical Study},
booktitle = {Proceedings of IEEE International Conference on Software Engineering (ICSE 2017)},
publisher = {IEEE},
year = {2017},
month = may,
}
```
This work uses the Java analysis framework, and also re-imagined the bytecode analysis framework of java-air,
such that fact extraction from bytecode could be compared to, and combined with, the facts extracted from source code.
```bibtex
@inproceedings{msr17,
author = {Lina Ochoa and Thomas Degueule and Jurgen J. Vinju},
title = {An Empirical Evaluation of OSGi Dependencies Best Practices in the Eclipse IDE},
booktitle = {Proceedings of the 15th International Conference on Mining Software Repositories},
publisher = {IEEE},
year = {2018},
}```
In this work java-air is one of the many components used to deeply analyze bytecode and source code
for change impact on a ecosystem scale:
```bibtex
@article{ochoa21,
author = {L. Ochoa and T. Degueule and J-R. Falleri and J. Vinju},
journal = {Empirical Software Engineering},
title = {Breaking Bad? Semantic Versioning and Impact of Breaking Changes in Maven Central},
year = {2021}
}
```
These are the technical reports for the OSSMETER EU project that influenced much of the design of java-air:
* [OSSMETER Deliverable D3.1](https://homepages.cwi.nl/~jurgenv/papers/D3.1ReportonDomainAnalysisofOSSQualityAttributes.pdf) – Report on Domain Analysis of OSS Quality Attributes. EU FP7 STREP Project Deliverable for OSSMETER.
* [OSSMETER Deliverable D3.2](https://homepages.cwi.nl/~jurgenv/papers/D3.2ReportonSourceCodeActivityMetrics.pdf) – Report on Source Code Activity Metrics. EU FP7 STREP Project Deliverable for OSSMETER.
* [OSSMETER Deliverable D3.3](https://homepages.cwi.nl/~jurgenv/papers/D3.3LanguageAgnosticSourceCodeQualityAnalysis.pdf) – Language Agnostic Source Code Quality Analysis. EU FP7 STREP Project Deliverable for OSSMETER.
* [OSSMETER Deliverable D3.4](https://homepages.cwi.nl/~jurgenv/papers/D3.4LanguageSpecificSourceCodeQualityAnalysis.pdf) – Language-Specific Source Code Quality Analysis. EU FP7 STREP Project Deliverable for OSSMETER.
# Specific Releases
Here some citable zenodo snapshots, which you could cite instead of the above
papers. The difference is you credit more the implementation of the work than
the conceptual contribution of Rascal. It's up to you. The author lists are
different, necessarily. So if you depend on a particular piece of work inside
java-air authored by somebody who is not an author of the above papers, then this
should have your preference.
* https://zenodo.org/record/TODO
GitHub Events
Total
- Create event: 3
- Commit comment event: 1
- Issues event: 3
- Push event: 17
Last Year
- Create event: 3
- Commit comment event: 1
- Issues event: 3
- Push event: 17
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jurgen J. Vinju | J****u@c****l | 922 |
| Davy Landman | d****n@s****g | 318 |
| paulklint | P****t@c****l | 96 |
| Ashim Shahi | a****i@g****m | 85 |
| Lina Ochoa | l****a@g****m | 52 |
| Michael Steindorfer | M****r@c****l | 33 |
| Rodin Aarssen | r****n@s****g | 17 |
| tdegueul | d****e@c****l | 6 |
| Pieter Olivier | p****r@s****g | 6 |
| dependabot[bot] | 4****] | 5 |
| Jasper Timmer | j****r@g****m | 5 |
| Linus Wagner | l****r@m****e | 4 |
| Jouke Stoel | j****l@g****m | 4 |
| Bas Basten | b****n@g****m | 3 |
| Aiko Yamashita | a****o@s****o | 3 |
| Sung-Shik Jongmans | s****s@s****g | 2 |
| jeroenpeeters | j****n@p****l | 2 |
| Vadim Zaytsev | v****m@g****t | 2 |
| msr18-osgi-artifacts | m****s@g****m | 1 |
| Rodrigo Bonifácio | r****3@g****m | 1 |
| Mauricio Verano Merino | m****9@g****m | 1 |
| Mary Gouseti | m****i@g****m | 1 |
| Markus Klinik | m****l@l****t | 1 |
| Mark Hills | m****s@c****u | 1 |
| Jonathan Leitschuh | J****h@g****m | 1 |
| Ferry Rietveld | F****d@g****m | 1 |
| Kevin van der Vlist | k****t@s****l | 1 |
| Diego Marcilio | d****o@g****m | 1 |
| Anastassija | A****a@c****l | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 5
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 4
- Total pull request authors: 0
- Average comments per issue: 3.6
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 1.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jurgenvinju (2)
- linuswagner (1)
- mike-uva (1)
- verhoofstad (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- junit:junit 4.13.2
- org.ow2.asm:asm 9.6
- org.ow2.asm:asm-tree 9.6
- org.rascalmpl:rascal 0.41.0-RC11
- org.rascalmpl:rascal-p2-dependencies-repackaged 0.6.0
- SWAT-engineering/maven-full-artifacts-action v1 composite
- actions/cache v4 composite
- actions/checkout v2 composite
- actions/setup-java v2 composite
- softprops/action-gh-release v1 composite
- usethesource/releases-maven-action v1 composite