The DOI matches its Crossref record; 27 of the 27 references it cites were found in a registry or an index.
Search, align, and repair: data-driven feedback generation for introductory programming exercises
Abstract
This paper introduces the “Search, Align, and Repair” data-driven program repair framework to automate feedback generation for introductory programming exercises. Distinct from existing techniques, our goal is to develop an efficient, fully automated, and problem-agnostic technique for large or MOOC-scale introductory programming courses. We leverage the large amount of available student submissions in such settings and develop new algorithms for identifying similar programs, aligning correct and incorrect programs, and repairing incorrect programs by finding minimal fixes. We have implemented our technique in the Sarfgen system and evaluated it on thousands of real student attempts from the Microsoft-DEV204.1x edX course and the Microsoft CodeHunt platform. Our results show that Sarfgen can, within two seconds on average, generate concise, useful feedback for 89.7% of the incorrect student submissions. It has been integrated with the Microsoft-DEV204.1X edX class and deployed for production use.
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
In the citing paper
“While these approaches generate repairs more quickly, they often produce imprecise and non-minimal fixes (Wang, Singh, and Su 2018).”
From Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization (2025) · cites this paper as Wang, Singh, and Su 2018
Citations
Cites
Glove: Global Vectors for Word Representation
Pennington, J., Socher, R., & Manning, C. (2014) · Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP) · doi:10.3115/v1/d14-1162 · Cited by 34,071
Beniger, J. R., & Tukey, J. W. (1978) · Contemporary Sociology · doi:10.2307/2065930 · Cited by 2,607
Simple Fast Algorithms for the Editing Distance between Trees and Related Problems
Zhang, K., & Shasha, D. (1989) · SIAM Journal on Computing · doi:10.1137/0218082 · Cited by 1,310
Simplifying and isolating failure-inducing input
Zeller, A., & Hildebrandt, R. (2002) · IEEE Transactions on Software Engineering · doi:10.1109/32.988498 · Cited by 1,079
DECKARD: Scalable and Accurate Tree-Based Detection of Code Clones
Jiang, L., Misherghi, G., Su, Z., & Glondu, S. (2007) · 29th International Conference on Software Engineering (ICSE'07) · doi:10.1109/icse.2007.30 · Cited by 1,039
Self-citationThe Tree-to-Tree Correction Problem
Tai, K.-C. (1979) · Journal of the ACM · doi:10.1145/322139.322143 · Cited by 865
Automatic patch generation by learning correct code
Long, F., & Rinard, M. (2016) · Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages · doi:10.1145/2837614.2837617 · Cited by 481
Automated feedback generation for introductory programming assignments
Singh, R., Gulwani, S., & Solar-Lezama, A. (2013) · Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation · doi:10.1145/2491956.2462195 · Cited by 383
Self-citationFrom symptom to cause: localizing errors in counterexample traces
Ball, T., Naik, M., & Rajamani, S. K. (2003) · Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages · doi:10.1145/604131.604140 · Cited by 294
A genetic programming approach to automated software repair
Forrest, S., Nguyen, T. H., Weimer, W. R., & Goues, C. L. (2009) · Genetic and Evolutionary Computation Conference (GECCO) · doi:10.1145/1569901.1570031 · Cited by 233
Research works printed but not linked: 4
- Alex Groce , Sagar Chaki , Daniel Kroening , and Ofer Strichman . 2006. Error explanation with distance metrics. Tools and Algorithms for the Construction and Analysis of Systems: 10th International Conference , TACAS 2004 , Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2004, Barcelona, Spain, March 29 - April 2, 2004. Proceedings 8, 3 (2006), 229–247. Alex Groce, Sagar Chaki, Daniel Kroening, and Ofer Strichman. 2006. Error explanation with distance metrics. Tools and Algorithms for the Construction and Analysis of Systems: 10th International Conference, TACAS 2004, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2004, Barcelona, Spain, March 29 - April 2, 2004. Proceedings 8, 3 (2006), 229–247.
- Ulrich Junker . 2004 . QUICKXPLAIN: Preferred Explanations and Relaxations for Over-constrained Problems . In Proceedings of the 19th National Conference on Artifical Intelligence. AAAI Press, 167–172 . Ulrich Junker. 2004. QUICKXPLAIN: Preferred Explanations and Relaxations for Over-constrained Problems. In Proceedings of the 19th National Conference on Artifical Intelligence. AAAI Press, 167–172.
- Tomas Mikolov Ilya Sutskever Kai Chen Greg S Corrado and Jeff Dean. 2013. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems. 3111–3119. Tomas Mikolov Ilya Sutskever Kai Chen Greg S Corrado and Jeff Dean. 2013. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems. 3111–3119.
- 10.1109/ICSE.2017.44 · DOI
Cited by
(2025) · doi:10.1109/icse55347.2025.00157 · Cited by 157
Baldur: Whole-Proof Generation and Repair with Large Language Models
First, E., Rabe, M. N., Ringer, T., & Brun, Y. (2023) · Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3611643.3616243 · Cited by 94
Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization
Orvalho, P., Janota, M., & Manquinho, V. (2025) · arXiv · doi:10.48550/arxiv.2502.07786 · Cited by 4
Metadata
- Authors
- Wang, K., Singh, R., & Su, Z.
- Affiliations
- University of California at Davis, USA
- Microsoft Research, USA
- Venue
- ACM SIGPLAN Notices
- Published
- 2018-06-11
- Volume
- 53
- Issue
- 4
- Pages
- 481-495
- ISSN
- 0362-1340
- 1558-1160
- Cited by
- 17
- References
- 27
- Language
- en
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: Search, align, and repair: data-driven feedback generation for introductory programming exercises. https://app.cochat.ai/papers/10.1145/3296979.3192384
- The paper
- Wang, K., Singh, R., & Su, Z. (2018). Search, align, and repair: data-driven feedback generation for introductory programming exercises. ACM SIGPLAN Notices. https://doi.org/10.1145/3296979.3192384
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.