University of Illinois Chicago
Browse

A Language-Independent Approach to Generating Comprehensive Random Programs

Download (1.47 MB)
thesis
posted on 2024-08-01, 00:00 authored by Melburne Rodrigues
A vast majority of software running on a computer has been processed by a compiler. Given their ubiquitous nature and critical role in the software development process, ensuring their correctness, reliability, and performance is of great importance, yet writing comprehensive tests for compilers remains a challenge. Manually writing test programs is labor-intensive and prone to biases and errors. While existing test program generators are capable of generating programs with complex statements, they often lack versatility and extensibility across different programming languages. We present GEMCEAS (Grammar Enhanced Monte Carlo Engine for App Simulation), a language-independent approach to generating random programs that serve as benchmarks for testing compilers and other program analysis tools. GEMCEAS accepts an EBNF-style language grammar to ensure the generated programs are syntactically correct, and references a language specification encoded as a Prolog knowledge base for semantic validation. We implement our tool for Java and a simple language for arithmetic expressions, and discuss the results of our experiments in this thesis.

History

Advisor

Dr. Mark Grechanik

Department

Computer Science

Degree Grantor

University of Illinois Chicago

Degree Level

  • Masters

Degree name

Master of Science

Committee Member

Dr. Luís Pina Dr. Boris Glavic

Thesis type

application/pdf

Usage metrics

    Categories

    No categories selected

    Keywords

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC