Search papers, labs, and topics across Lattice.
SemLoc is introduced as a novel fault localization framework that leverages structured semantic grounding to address the limitations of existing techniques in identifying semantic bugs. It converts free-form LLM reasoning into a closed intermediate representation, binding inferred properties to typed program anchors for runtime checking and attribution. By constructing a semantic violation spectrum and employing counterfactual verification, SemLoc achieves state-of-the-art fault localization performance on the SemFault-250 dataset.
LLMs can pinpoint semantic bugs with surprising accuracy when their reasoning is structured and grounded, outperforming traditional coverage-based methods by a significant margin.
Fault localization identifies program locations responsible for observed failures. Existing techniques rank suspicious code using syntactic spectra--signals derived from execution structure such as statement coverage, control-flow divergence, or dependency reachability. These signals collapse for semantic bugs, where failing and passing executions follow identical code paths and differ only in whether semantic intent is satisfied. Recent LLM-based approaches introduce semantic reasoning but produce stochastic, unverifiable outputs that cannot be systematically cross-referenced across tests or distinguish root causes from cascading effects. We present SemLoc, a fault localization framework based on structured semantic grounding. SemLoc converts free-form LLM reasoning into a closed intermediate representation that binds each inferred property to a typed program anchor, enabling runtime checking and attribution to program structure. It executes instrumented programs to construct a semantic violation spectrum--a constraint-by-test matrix--from which suspiciousness scores are derived analogously to coverage-based methods. A counterfactual verification step further prunes over-approximate constraints and isolates primary causal violations. We evaluate SemLoc on SemFault-250, a corpus of 250 Python programs with single semantic faults. SemLoc outperforms five coverage-, reduction-, and LLM-based baselines, achieving Top-1 accuracy of 42.8% and Top-3 of 68%, while reducing inspection to 7.6% of executable lines. Counterfactual verification provides an additional 12% accuracy gain and identifies primary causal semantic constraints.