Search arXivSearch

arXiv · 1711.07163

Dynamic Neural Program Embedding for Program Repair

Abstract

Neural program embeddings have shown much promise recently for a variety of program analysis tasks, including program synthesis, program repair, fault localization, etc. However, most existing program embeddings are based on syntactic features of programs, such as raw token sequences or abstract syntax trees. Unlike images and text, a program has an unambiguous semantic meaning that can be difficult to capture by only considering its syntax (i.e. syntactically similar pro- grams can exhibit vastly different run-time behavior), which makes syntax-based program embeddings fundamentally limited. This paper proposes a novel semantic program embedding that is learned from program execution traces. Our key insight is that program states expressed as sequential tuples of live variable values not only captures program semantics more precisely, but also offer a more natural fit for Recurrent Neural Networks to model. We evaluate different syntactic and semantic program embeddings on predicting the types of errors that students make in their submissions to an introductory programming class and two exercises on the CodeHunt education platform. Evaluation results show that our new semantic program embedding significantly outperforms the syntactic program embeddings based on token sequences and abstract syntax trees. In addition, we augment a search-based program repair system with the predictions obtained from our se- mantic embedding, and show that search efficiency is also significantly improved.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Ke Wang, Rishabh Singh, Zhendong Su. 2018-06-30. Dynamic Neural Program Embedding for Program Repair. https://arxiv.org/abs/1711.07163

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Memory-Free Continual Learning with Null Space Adaptation for Zero-Shot Vision-Language Models

Pre-trained vision-language models (VLMs), such as CLIP, have demonstrated remarkable zero-shot generalization, enabling deployment in a wide range of real-world tasks without additional task-specific training. However, in real deployment scenarios with evolving environments or emerging classes, these models inevitably face distributional shifts and novel tasks. In such contexts, static zero-shot capabilities are insufficient, and there is a growing need for continual learning methods that allow models to adapt over time while avoiding catastrophic forgetting. We introduce NuSA-CL (Null Space Adaptation for Continual Learning), a lightweight memory-free continual learning framework designed to address this challenge. NuSA-CL employs low-rank adaptation and constrains task-specific weight updates to lie within an approximate null space of the model's current parameters. This strategy minimizes interference with previously acquired knowledge, effectively preserving the zero-shot capabilities of the original model. Unlike methods relying on replay buffers or costly distillation, NuSA-CL imposes minimal computational and memory overhead, making it practical for deployment in resource-constrained, real-world continual learning environments. Experiments show that our framework not only effectively preserves zero-shot transfer capabilities but also achieves highly competitive performance on continual learning benchmarks. These results position NuSA-CL as a practical and scalable solution for continually evolving zero-shot VLMs in real-world applications.

cs.AI

VeRA: Renewing Reasoning Benchmarks with Executable Specifications

Reasoning benchmarks need renewal along two axes: freshness and headroom. VeRA makes both executable and auditable by turning each item into a task family: a natural-language template, an input generator, and a deterministic answer program. VeRA-E draws fresh instances within a family; VeRA-H modifies the family toward harder tasks; and VeRA-H Pro selects one judge-ranked candidate from up to five validated proposals per seed. Execution checks, seed anchoring, answer discrimination, and independent human solving validate specifications and items. Accepted programs generate further labeled instances through local computation. Across 16 models, AIME-2024 accuracy decreases from 84.46% on seeds to 70.25% on VeRA-E variants, exposing a gap between fixed-item success and fresh-instance robustness. On AIME-2024-II, the human-audited VeRA-H Pro release lowers accuracy from 84.91% to 58.57%. Across the three hardening sources, H Pro has lower mean accuracy than H. On AMO-Bench, both releases average higher accuracy than the seeds under the evaluated budget. Initial auditing accepts 75.4% of hardened candidates; targeted repair raises usable yield to 95.1%. Executable families thus support repeatable benchmark renewal, with validation improving task quality and selection shaping the delivered challenge.

cs.AI

When can we trust untrusted monitoring? A safety case sketch across collusion strategies

AIs are increasingly being deployed with greater autonomy and capabilities, which increases the risk that a misaligned AI may be able to cause catastrophic harm. Untrusted monitoring -- using one untrusted model to oversee another -- is one approach to reducing risk. Justifying the safety of an untrusted monitoring deployment is challenging because developers cannot safely deploy a misaligned model to test their protocol directly. In this paper, we develop upon existing methods for rigorously demonstrating safety based on pre-deployment testing. We relax assumptions that previous AI control research made about the collusion strategies a misaligned AI might use to subvert untrusted monitoring. We develop a taxonomy covering passive self-recognition, causal collusion (hiding pre-shared signals), acausal collusion (hiding signals via Schelling points), and combined strategies. We create a safety case sketch to clearly present our argument, explicitly state our assumptions, and highlight unsolved challenges. We identify conditions under which passive self-recognition could be a more effective collusion strategy than those studied previously. Our work builds towards more robust evaluations of untrusted monitoring.

cs.AI