Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Report . 2026
License: CC BY
Data sources: ZENODO
ZENODO
Report . 2026
License: CC BY
Data sources: Datacite
ZENODO
Report . 2026
License: CC BY
Data sources: Datacite
versions View all 2 versions
addClaim

NL-Verify Project Technical Report for WIF3010 Programming Language Paradigm Course, Software Engineering Department Team : Semester 1, 2025/2026 Treat Me Better Team

Authors: Dang, Yan Rou; Heng, Xiao Xuan; Chong, Dominic Rong Yau; Ding, Jia Ling; Tang, Jun Le; Raja Yusof, Raja Jamilah;

NL-Verify Project Technical Report for WIF3010 Programming Language Paradigm Course, Software Engineering Department Team : Semester 1, 2025/2026 Treat Me Better Team

Abstract

NL-Verify is an educational software prototype designed to bridge the gap between natural language specifications and formal mathematical verification. Developed as a group project for the Programming Language Paradigm course, the system functions as a "Mini-Programming Language" that allows users—specifically Computer Science students—to write algorithmic specifications in Controlled Natural Language (e.g., "After the loop, total must equal sum of inputs"). The primary goal of NL-Verify is to demystify the "black box" of formal methods. Instead of requiring students to master complex mathematical notation (e.g., Hoare Logic triples) immediately, the system parses English input into an Abstract Syntax Tree (AST), translates it into semantic assertions, and utilizes the Z3 Theorem Prover to rigorously prove correctness using Axiomatic Semantics. Simultaneously, a Dynamic Test Generator creates concrete Python test vectors to validate the logic against runtime edge cases (such as division by zero). To enhance the learning experience, the system integrates an LLM-based refinement agent (Llama-3.2). This agent suggests improvements and corrects syntax errors or "slang" input, preventing system crashes and keeping the user focused on logical verification.

Related Organizations
Keywords

Compiler Design, Natural Language Processing (NLP), Formal Verification

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average
Green