https://github.com/robotane/bcterm
BCTerm is a formal Java bytecode interpreter that models the JVM execution environment with precise tracking of states during bytecode execution. Designed for program verification, bytecode semantics analysis, and termination proof validation.
https://github.com/robotane/bcterm
bytecode bytecode-interpreter bytecode-manipulation jvm termination verification
Last synced: 18 days ago
JSON representation
BCTerm is a formal Java bytecode interpreter that models the JVM execution environment with precise tracking of states during bytecode execution. Designed for program verification, bytecode semantics analysis, and termination proof validation.
- Host: GitHub
- URL: https://github.com/robotane/bcterm
- Owner: robotane
- Created: 2025-04-04T10:09:10.000Z (24 days ago)
- Default Branch: main
- Last Pushed: 2025-04-07T12:22:55.000Z (21 days ago)
- Last Synced: 2025-04-09T21:12:18.679Z (18 days ago)
- Topics: bytecode, bytecode-interpreter, bytecode-manipulation, jvm, termination, verification
- Language: Java
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BCTerm
A formal Java bytecode interpreter that models the JVM execution environment with precise tracking of states during bytecode execution. Designed for program verification, bytecode semantics analysis, and termination proof validation.
## Overview
BCTerm implements a formal model of the Java Virtual Machine state, representing the complete execution environment including local variables, operand stack, and memory heap. This allows for precise tracking and analysis of bytecode execution.
## Features
- Complete JVM state modeling
- Detailed state visualization
- Object allocation and reference tracking
- Bytecode execution simulation## Getting Started
### Prerequisites
- Java 8 or higher
- Maven for building the project### Building the Project
```bash
mvn clean install
```### Running BCTerm
```bash
java -jar bcterm.jar
```## Project Structure
- `src/main/java/fr/univreunion/bcterm/jvm/state/` - Core JVM state representation
- `JVMState.java` - Implementation of the formal JVM state model
- Additional packages for bytecode parsing, execution, and analysis## Contributors
- BAYE Serge Olivier (Alias [John ROBOTANE](https://github.com/robotane))
- Université de La Réunion