Software to Generate Linux Executables for Sending Eiffel Events Based on JSON Schemas at Nexer - Schema-driven code generation using large language models

dc.contributor.authorBehrami, Adrian
dc.contributor.authorAgnezon, Leon
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.departmentChalmers University of Technology / Department of Computer Science and Engineeringen
dc.date.accessioned2026-06-30T12:15:58Z
dc.date.issued2026
dc.date.submitted
dc.description.abstractThe Eiffel Protocol is a set of JSON-based event types used for traceability in continuous integration and continuous delivery (CI/CD) pipelines. Each event type is formally defined by a JSON Schema, and multiple versions of each event exist. Creating sender programs that produce valid Eiffel events has traditionally been a manual and error-prone process, particularly given the large number of event–version combinations involved. This thesis presents the design and implementation of a software system that auto mates the generation of Linux-executable command-line tools for creating, validating, and sending Eiffel events via RabbitMQ. The system uses a schema-driven approach where the official Eiffel JSON Schemas serve as the primary structural source of truth for code generation. Additional helper logic is used to handle compatibility differences, prompt construction, example generation, and runtime integration details that are not fully captured by the schemas alone. A Python-based orchestration pipeline constructs prompts from the schemas and uses the OpenAI GPT-4o language model to generate Rust source code for each event–version pair. The generated code is then compiled, executed, and validated against the corresponding schema in an iterative feedback loop. The resulting system successfully generates and validates 223 sender programs covering all officially published Eiffel event types and schema versions. Each generated sender is packaged as an independent Rust binary crate with deterministic integration tests. A wrapper CLI tool provides both an interactive guided mode and a passthrough mode for automation. The complete system includes CI/CD pipelines for automated testing, schema synchronization, and release packaging via GitHub Actions. The findings suggest that AI-assisted code generation combined with rigorous schema based validation is a viable approach for producing correct, schema-conformant tools at scale, although the quality of the generated output is highly sensitive to prompt design.
dc.identifier.urihttps://hdl.handle.net/20.500.12380/311695
dc.language.isoeng
dc.setspec.uppsokTechnology
dc.subjectEiffel Protocol, JSON Schema, code generation, large language models, Rust, CLI, continuous integration, RabbitMQ
dc.titleSoftware to Generate Linux Executables for Sending Eiffel Events Based on JSON Schemas at Nexer - Schema-driven code generation using large language models
dc.type.degreeExamensarbete på kandidatnivåsv
dc.type.degreeBachelor Thesisen
dc.type.uppsokM2

Ladda ner

Original bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CS 26-26 AB LA.pdf
Size:
2.24 MB
Format:
Adobe Portable Document Format

License bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Size:
2.35 KB
Format:
Item-specific license agreed upon to submission
Description: