Searcharxiv⌕ Search

arXiv subjects

Jaid Monwar Chowdhury

Publications and source records attributed to Jaid Monwar Chowdhury.

2 recordsLinked to original sources

ATLAS: Multi-View Code Representation Tool for C and C++ Source Programs

Multi-view code graphs that align abstract syntax trees, control flow graphs, and data flow graphs are now central to machine-learning models for software engineering. For C and C++, no single tool produces these aligned views without a complete build. We present ATLAS, a command-line tool that takes one or more C or C++ source files and emits an AST, a source-level inter-procedural CFG, a reaching-definition DFG, or any combination. The output is available as JSON, DOT, or PNG. ATLAS runs directly on source code and accepts partial input such as a project with missing headers, so it needs no compilation or build database. All views share one node namespace, so a downstream consumer can recover any single view by filtering edges. Command-line flags select views, collapse variables, and blacklist node categories to resize the emitted graph. On the TheAlgorithms corpora, ATLAS produces a correct CFG for 96.80% of C files and 91.67% of C++ files, including files that do not compile. It already serves as the CFG front-end of an LLM-based unit-test generation framework for C. ATLAS is open source and ships as a Docker image with a screencast walkthrough. Demo link: https://youtu.be/50DvEbenp14.

cs.SE↗

SPARC: Scenario Planning and Reasoning for Automated C Unit Test Generation

Automated unit test generation for C remains a formidable challenge due to the semantic gap between high-level program intent and the rigid syntactic constraints of pointer arithmetic and manual memory management. While Large Language Models (LLMs) exhibit strong generative capabilities, direct intent-to-code synthesis frequently suffers from the leap-to-code failure mode, where models prematurely emit code without grounding in program structure, constraints, and semantics. This will result in non-compilable tests, hallucinated function signatures, low branch coverage, and semantically irrelevant assertions that cannot properly capture bugs. We introduce SPARC, a neuro-symbolic, scenario-based framework that bridges this gap through four stages: (1) Control Flow Graph (CFG) analysis, (2) an Operation Map that grounds LLM reasoning in validated utility helpers, (3) Path-targeted test synthesis, and (4) an iterative, self-correction validation loop using compiler and runtime feedback. We evaluate SPARC on 59 real-world and algorithmic subjects, where it outperforms the vanilla prompt generation baseline by 31.36% in line coverage, 26.01% in branch coverage, and 20.78% in mutation score, matching or exceeding the symbolic execution tool KLEE on complex subjects. SPARC retains 94.3% of tests through iterative repair and produces code with significantly higher developer-rated readability and maintainability. By aligning LLM reasoning with program structure, SPARC provides a scalable path for industrial-grade testing of legacy C codebases.

cs.SE↗