Flexible control flow graph alignment for delivering data-driven feedback to novice programming learners
Supporting learners in introductory programming assignments at scale is a necessity. This support includes automated feedback on what learners did incorrectly. Existing approaches cast the problem as automatically repairing learners’ incorrect programs extrapolating the data from an existing correct...
Uložené v:
| Vydané v: | The Journal of systems and software Ročník 210; s. 111960 |
|---|---|
| Hlavní autori: | , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
Elsevier Inc
01.04.2024
|
| Predmet: | |
| ISSN: | 0164-1212 |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Abstract | Supporting learners in introductory programming assignments at scale is a necessity. This support includes automated feedback on what learners did incorrectly. Existing approaches cast the problem as automatically repairing learners’ incorrect programs extrapolating the data from an existing correct program from other learners. However, such approaches are limited because they only compare programs with similar control flow and order of statements. A potentially valuable set of repair feedback from flexible comparisons is thus missing. In this paper, we present several modifications to CLARA, a data-driven automated repair approach that is open source, to deal with real-world introductory programs. We extend CLARA’s abstract syntax tree processor to handle common introductory programming constructs. Additionally, we propose a flexible alignment algorithm over control flow graphs where we enrich nodes with semantic annotations extracted from programs using operations and calls. Using this alignment, we modify an incorrect program’s control flow graph to match correct programs to apply CLARA’s original repair process. We evaluate our approach against a baseline on the twenty most popular programming problems in Codeforces. Our results indicate that flexible alignment has a significantly higher percentage of successful repairs at 46% compared to 5% for baseline CLARA. Our implementation is available at https://github.com/towhidabsar/clara.
•We adapt a “search, align and repair” approach to fix novice learner programs.•We present a flexible program alignment scheme that enhances repair capabilities.•Our experiments use programs from twenty real-world programming assignments.•Our flexible scheme outperforms the original: 46% vs. 5% repair success rate.•Our implementation is available at https://github.com/towhidabsar/clara. |
|---|---|
| AbstractList | Supporting learners in introductory programming assignments at scale is a necessity. This support includes automated feedback on what learners did incorrectly. Existing approaches cast the problem as automatically repairing learners’ incorrect programs extrapolating the data from an existing correct program from other learners. However, such approaches are limited because they only compare programs with similar control flow and order of statements. A potentially valuable set of repair feedback from flexible comparisons is thus missing. In this paper, we present several modifications to CLARA, a data-driven automated repair approach that is open source, to deal with real-world introductory programs. We extend CLARA’s abstract syntax tree processor to handle common introductory programming constructs. Additionally, we propose a flexible alignment algorithm over control flow graphs where we enrich nodes with semantic annotations extracted from programs using operations and calls. Using this alignment, we modify an incorrect program’s control flow graph to match correct programs to apply CLARA’s original repair process. We evaluate our approach against a baseline on the twenty most popular programming problems in Codeforces. Our results indicate that flexible alignment has a significantly higher percentage of successful repairs at 46% compared to 5% for baseline CLARA. Our implementation is available at https://github.com/towhidabsar/clara.
•We adapt a “search, align and repair” approach to fix novice learner programs.•We present a flexible program alignment scheme that enhances repair capabilities.•Our experiments use programs from twenty real-world programming assignments.•Our flexible scheme outperforms the original: 46% vs. 5% repair success rate.•Our implementation is available at https://github.com/towhidabsar/clara. |
| ArticleNumber | 111960 |
| Author | Contractor, Maheen Riaz Chowdhury, Md Towhidul Absar Rivero, Carlos R. |
| Author_xml | – sequence: 1 givenname: Md Towhidul Absar orcidid: 0000-0002-7260-4693 surname: Chowdhury fullname: Chowdhury, Md Towhidul Absar email: mac9908@rit.edu – sequence: 2 givenname: Maheen Riaz surname: Contractor fullname: Contractor, Maheen Riaz email: mc1927@rit.edu – sequence: 3 givenname: Carlos R. orcidid: 0000-0002-5770-950X surname: Rivero fullname: Rivero, Carlos R. email: crr@cs.rit.edu |
| BookMark | eNp9kMFOwzAMhnMYEtvgAbjlBVqSdm1XcUITA6RJXOAcpY6zpaTJlFQD3p5U48RhJ8vW_1n2tyAz5x0ScsdZzhmv7_u8jzEvWLHKOedtzWZknuarjBe8uCaLGHvGWJMCc3LYWvw2nUUK3o3BW6qt_6L7II8HKq3ZuwHdSLUPVKE1JwzG7amSo8xUSK2jGlF1Ej7p6KnzJwNIj8GnBcMwRS3K4DDEG3KlpY14-1eX5GP79L55yXZvz6-bx10G6bgxawB0VUOlWdF1smB1JctaM6mhYqVaqxKhajveaN6yRhfQls0KVA1qzVStU3hJ-HkvBB9jQC2OwQwy_AjOxKRH9CLpEZMecdaTmOYfA2aUo5mMSGMvkg9nEtNLJ4NBRDDoAJUJCKNQ3lygfwECFoaU |
| CitedBy_id | crossref_primary_10_1016_j_jss_2025_112481 |
| Cites_doi | 10.1145/3192366.3192387 10.1145/1150402.1150522 10.1145/2837614.2837617 10.1145/3377814.3381707 10.1145/2984043.2989222 10.1109/ASE.2019.00044 10.1145/3106237.3106262 10.1145/2531602.2531657 10.1007/978-3-319-35122-3_21 10.1016/j.jss.2023.111822 10.1007/978-3-030-80421-3_27 10.1145/3510418 10.1207/s15326985ep4102_1 10.1007/s10009-012-0249-7 10.1145/3051457.3051467 10.1109/ICSE.2017.44 10.1145/2566486.2568023 10.1109/ASE.2017.8115676 10.1145/2737924.2737988 10.1145/2491956.2462195 10.1109/ICSE.2012.6227183 10.1109/ICDE.2017.169 10.1007/978-3-319-41540-6_21 10.1109/ICSE-SEET.2019.00022 10.1109/ICSME55016.2022.00022 10.1109/ISSRE.2010.36 10.1007/978-3-031-09680-8_30 10.1145/2839509.2844660 10.1145/3180155.3180245 |
| ContentType | Journal Article |
| Copyright | 2024 Elsevier Inc. |
| Copyright_xml | – notice: 2024 Elsevier Inc. |
| DBID | AAYXX CITATION |
| DOI | 10.1016/j.jss.2024.111960 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| ExternalDocumentID | 10_1016_j_jss_2024_111960 S0164121224000037 |
| GroupedDBID | --K --M -~X .DC .~1 0R~ 1B1 1~. 1~5 29L 4.4 457 4G. 5GY 5VS 7-5 71M 8P~ 9JN 9M8 AABNK AACTN AAEDT AAEDW AAIKJ AAKOC AALRI AAOAW AAQFI AAQXK AATTM AAXKI AAXUO AAYFN AAYOK ABBOA ABDPE ABEFU ABFNM ABFRF ABFSI ABJNI ABMAC ABTAH ABWVN ABXDB ACDAQ ACGFO ACGFS ACGOD ACNNM ACRLP ACRPL ACZNC ADBBV ADEZE ADHUB ADJOM ADMUD ADNMO AEBSH AEFWE AEIPS AEKER AENEX AFJKZ AFTJW AGHFR AGUBO AGYEJ AHHHB AHZHX AI. AIALX AIEXJ AIKHN AITUG AKRWK ALMA_UNASSIGNED_HOLDINGS AMRAJ ANKPU AOUOD ASPBG AVWKF AXJTR AZFZN BKOJK BKOMP BLXMC BNPGV CS3 DU5 E.L EBS EFJIC EJD EO8 EO9 EP2 EP3 FDB FEDTE FGOYB FIRID FNPLU FYGXN G-Q GBLVA GBOLZ HLZ HVGLF HZ~ IHE J1W KOM LG9 M41 MO0 MS~ N9A O-L O9- OAUVE OZT P-8 P-9 P2P PC. PQQKQ Q38 R2- RIG RNS ROL RPZ RXW SBC SDF SDG SDP SES SEW SPC SPCBC SSH SSV SSZ T5K TAE TN5 TWZ UHS UNMZH VH1 WUQ XPP ZMT ZY4 ~G- 9DU AAYWO AAYXX ACLOT ACVFH ADCNI AEUPX AFPUW AGQPQ AIGII AIIUN AKBMS AKYEP APXCP CITATION EFKBS EFLBG ~HD |
| ID | FETCH-LOGICAL-c212t-7ccf56c5f02bba2065a36f0afc503d8d3ec59b17f1907f2c9374cd6cd80d6f5a3 |
| ISSN | 0164-1212 |
| IngestDate | Sat Nov 29 07:22:03 EST 2025 Tue Nov 18 22:04:59 EST 2025 Sun Apr 06 06:53:47 EDT 2025 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Keywords | Approximate graph alignment Automated program repair Data-driven feedback Control flow graph |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c212t-7ccf56c5f02bba2065a36f0afc503d8d3ec59b17f1907f2c9374cd6cd80d6f5a3 |
| ORCID | 0000-0002-5770-950X 0000-0002-7260-4693 |
| ParticipantIDs | crossref_primary_10_1016_j_jss_2024_111960 crossref_citationtrail_10_1016_j_jss_2024_111960 elsevier_sciencedirect_doi_10_1016_j_jss_2024_111960 |
| PublicationCentury | 2000 |
| PublicationDate | April 2024 2024-04-00 |
| PublicationDateYYYYMMDD | 2024-04-01 |
| PublicationDate_xml | – month: 04 year: 2024 text: April 2024 |
| PublicationDecade | 2020 |
| PublicationTitle | The Journal of systems and software |
| PublicationYear | 2024 |
| Publisher | Elsevier Inc |
| Publisher_xml | – name: Elsevier Inc |
| References | Harper (b10) 2016 Roy, Cordy, Koschke (b34) 2009; 74 Long, F., Rinard, M., 2016. Automatic patch generation by learning correct code. In: POPL. pp. 298–312. Yi, J., Ahmed, U.Z., Karkare, A., Tan, S.H., Roychoudhury, A., 2017. A feasibility study of using automated program repair for introductory programming assignments. In: ESEC/FSE. pp. 740–751. Marin, V.J., Pereira, T., Sridharan, S., Rivero, C.R., 2017. Automated personalized feedback in introductory Java programming MOOCs. In: ICDE. pp. 1259–1270. Nguyen, A., Piech, C., Huang, J., Guibas, L.J., 2014. Codewebs: Scalable homework search for massive open online programming courses. In: WWW. pp. 491–502. Liu, C., Chen, C., Han, J., Yu, P.S., 2006. GPLAG: Detection of software plagiarism by program dependence graph analysis. In: KDD. pp. 872–881. Rodriguez (b32) 2012; 15 Toledo, Martínez-López (b39) 2017; 47 Coetzee, D., Fox, A., Hearst, M.A., Hartmann, B., 2014. Should your MOOC forum use a reputation system?. In: CSCW. pp. 1176–1187. Piech, C., Huang, J., Nguyen, A., Phulsuksombati, M., Sahami, M., Guibas, L.J., 2015. Learning Program Embeddings to Propagate Feedback on Student Code. In: ICML. pp. 1093–1102. Li, Wu, Liu, Shen, Wu, Zhang, Chen (b20) 2023; 205 Hu, Y., Ahmed, U.Z., Mechtaev, S., Leong, B., Roychoudhury, A., 2019a. Re-Factoring Based Program Repair Applied to Programming Assignments. In: ASE. pp. 388–398. Monperrus (b27) 2018; 51 Nguyen, T., Le-Cong, T., Luong, D., Duong, V., Le, X.D., Lo, D., Huynh, Q., 2022. FFL: Fine-grained Fault Localization for Student Programs via Syntactic and Semantic Reasoning. In: ICSME. pp. 151–162. Xin, Q., Reiss, S.P., 2017. Leveraging syntax-related code for automated program repair. In: ASE. pp. 660–670. Liu, X., Wang, S., Wang, P., Wu, D., 2019. Automatic grading of programming assignments: an approach based on formal semantics. In: ICSE. pp. 126–137. Mirzayanov (b26) 2018 Marin, V.J., Contractor, M.R., Rivero, C.R., 2021. Flexible Program Alignment to Deliver Data-Driven Feedback to Novice Programmers. In: ITS, Vol. 12677. pp. 247–258. Pu, Y., Narasimhan, K., Solar-Lezama, A., Barzilay, R., 2016. sk_p: A neural program corrector for MOOCs. In: SPLASH. pp. 39–40. Gulwani, S., Radicek, I., Zuleger, F., 2018. Automated clustering and program repair for introductory programming assignments. In: PLDI. pp. 465–480. Contractor, M.R., Rivero, C.R., 2022. Improving Program Matching to Automatically Repair Introductory Programs. In: ITS. pp. 323–335. Wang, Singh, Su (b40) 2018 Xu, Chee (b42) 2003; 29 Head, A., Glassman, E., Soares, G., Suzuki, R., Figueredo, L., D’Antoni, L., Hartmann, B., 2017. Writing Reusable Code Feedback at Scale with Mixed-Initiative Program Synthesis. In: L@S. pp. 89–98. da F. Costa (b7) 2021 Ahmed, Fan, Yi, Al-Bataineh, Roychoudhury (b1) 2022; 31 Edmison, B., Edwards, S.H., 2020. Turn up the heat!: using heat maps to visualize suspicious code to help students successfully complete programming problems faster. In: ICSE-SEET. pp. 34–44. Kirschner, Sweller, Clark (b16) 2006; 41 Li, J., Ernst, M.D., 2012. CBCD: Cloned buggy code detector. In: ICSE. pp. 310–320. Sidiroglou-Douskos, S., Lahtinen, E., Long, F., Rinard, M., 2015. Automatic error elimination by horizontal code transfer across multiple applications. In: PLDI. pp. 43–54. Zweben, Bizot (b44) 2016 Rolim, R., Soares, G., D’Antoni, L., Polozov, O., Gulwani, S., Gheyi, R., Suzuki, R., Hartmann, B., 2017. Learning syntactic program transformations from examples. In: ICSE. pp. 404–415. Huang, J., Piech, C., Nguyen, A., Guibas, L.J., 2013. Syntactic and Functional Variability of a Million Code Submissions in a Machine Learning MOOC. In: AIED Workshops. Li, W., Saidi, H., Sanchez, H., Schäf, M., Schweitzer, P., 2016. Detecting Similar Programs via The Weisfeiler-Leman Graph Kernel. In: ICSR. pp. 315–330. Le Goues, Nguyen, Forrest, Weimer (b17) 2012; 38 Hu, Y., Ahmed, U.Z., Mechtaev, S., Leong, B., Roychoudhury, A., 2019b. Re-Factoring Based Program Repair Applied to Programming Assignments. In: ASE. pp. 388–398. Singh, R., Gulwani, S., Solar-Lezama, A., 2013. Automated feedback generation for introductory programming assignments. In: PLDI. pp. 15–26. Sun, B., Shu, G., Podgurski, A., Li, S., Zhang, S., Yang, J., 2010. Propagating bug fixes with fast subgraph matching. In: ISSRE. pp. 21–30. Garcia, D.D., Campbell, J., DeNero, J., Dorf, M.L., Reges, S., 2016. CS10K Teachers by 2017?: Try CS1K+ students NOW! Coping with the Largest CS1 Courses in History. In: SIGCSE. pp. 396–397. Solar-Lezama (b37) 2013; 15 Hua, J., Zhang, M., Wang, K., Khurshid, S., 2018. Towards practical program repair with on-demand candidate generation. In: ICSE. pp. 12–23. Chen, Tworek, Jun, Yuan, de Oliveira Pinto, Kaplan, Edwards, Burda, Joseph, Brockman, Ray, Puri, Krueger, Petrov, Khlaaf, Sastry, Mishkin, Chan, Gray, Ryder, Pavlov, Power, Kaiser, Bavarian, Winter, Tillet, Such, Cummings, Plappert, Chantzis, Barnes, Herbert-Voss, Guss, Nichol, Paino, Tezak, Tang, Babuschkin, Balaji, Jain, Saunders, Hesse, Carr, Leike, Achiam, Misra, Morikawa, Radford, Knight, Brundage, Murati, Mayer, Welinder, McGrew, Amodei, McCandlish, Sutskever, Zaremba (b2) 2021 D’Antoni, L., Samanta, R., Singh, R., 2016. Qlose: Program repair with quantitative objectives. In: CAV. pp. 383–401. Monperrus (10.1016/j.jss.2024.111960_b27) 2018; 51 10.1016/j.jss.2024.111960_b13 10.1016/j.jss.2024.111960_b35 10.1016/j.jss.2024.111960_b12 10.1016/j.jss.2024.111960_b15 10.1016/j.jss.2024.111960_b14 Li (10.1016/j.jss.2024.111960_b20) 2023; 205 10.1016/j.jss.2024.111960_b36 Solar-Lezama (10.1016/j.jss.2024.111960_b37) 2013; 15 10.1016/j.jss.2024.111960_b38 Xu (10.1016/j.jss.2024.111960_b42) 2003; 29 10.1016/j.jss.2024.111960_b19 10.1016/j.jss.2024.111960_b18 Roy (10.1016/j.jss.2024.111960_b34) 2009; 74 da F. Costa (10.1016/j.jss.2024.111960_b7) 2021 Le Goues (10.1016/j.jss.2024.111960_b17) 2012; 38 10.1016/j.jss.2024.111960_b31 10.1016/j.jss.2024.111960_b30 10.1016/j.jss.2024.111960_b11 10.1016/j.jss.2024.111960_b33 Rodriguez (10.1016/j.jss.2024.111960_b32) 2012; 15 Harper (10.1016/j.jss.2024.111960_b10) 2016 Mirzayanov (10.1016/j.jss.2024.111960_b26) 2018 Toledo (10.1016/j.jss.2024.111960_b39) 2017; 47 10.1016/j.jss.2024.111960_b24 10.1016/j.jss.2024.111960_b23 10.1016/j.jss.2024.111960_b25 10.1016/j.jss.2024.111960_b28 10.1016/j.jss.2024.111960_b29 Ahmed (10.1016/j.jss.2024.111960_b1) 2022; 31 Chen (10.1016/j.jss.2024.111960_b2) 2021 10.1016/j.jss.2024.111960_b6 10.1016/j.jss.2024.111960_b5 10.1016/j.jss.2024.111960_b41 10.1016/j.jss.2024.111960_b4 10.1016/j.jss.2024.111960_b22 10.1016/j.jss.2024.111960_b3 10.1016/j.jss.2024.111960_b21 10.1016/j.jss.2024.111960_b43 10.1016/j.jss.2024.111960_b9 Kirschner (10.1016/j.jss.2024.111960_b16) 2006; 41 10.1016/j.jss.2024.111960_b8 Wang (10.1016/j.jss.2024.111960_b40) 2018 Zweben (10.1016/j.jss.2024.111960_b44) 2016 |
| References_xml | – year: 2021 ident: b2 article-title: Evaluating large language models trained on code, CoRR – reference: Li, W., Saidi, H., Sanchez, H., Schäf, M., Schweitzer, P., 2016. Detecting Similar Programs via The Weisfeiler-Leman Graph Kernel. In: ICSR. pp. 315–330. – volume: 15 year: 2012 ident: b32 article-title: MOOCs and the AI-Stanford like courses: Two successful and distinct course formats for massive open online courses publication-title: EURODL – reference: Sidiroglou-Douskos, S., Lahtinen, E., Long, F., Rinard, M., 2015. Automatic error elimination by horizontal code transfer across multiple applications. In: PLDI. pp. 43–54. – volume: 47 start-page: 277 year: 2017 end-page: 290 ident: b39 article-title: A recommendation approach for programming online judges supported by data preprocessing techniques publication-title: AI – reference: Li, J., Ernst, M.D., 2012. CBCD: Cloned buggy code detector. In: ICSE. pp. 310–320. – reference: Edmison, B., Edwards, S.H., 2020. Turn up the heat!: using heat maps to visualize suspicious code to help students successfully complete programming problems faster. In: ICSE-SEET. pp. 34–44. – reference: Gulwani, S., Radicek, I., Zuleger, F., 2018. Automated clustering and program repair for introductory programming assignments. In: PLDI. pp. 465–480. – reference: Liu, C., Chen, C., Han, J., Yu, P.S., 2006. GPLAG: Detection of software plagiarism by program dependence graph analysis. In: KDD. pp. 872–881. – reference: Sun, B., Shu, G., Podgurski, A., Li, S., Zhang, S., Yang, J., 2010. Propagating bug fixes with fast subgraph matching. In: ISSRE. pp. 21–30. – volume: 15 start-page: 475 year: 2013 end-page: 495 ident: b37 article-title: Program sketching publication-title: STTT – reference: Yi, J., Ahmed, U.Z., Karkare, A., Tan, S.H., Roychoudhury, A., 2017. A feasibility study of using automated program repair for introductory programming assignments. In: ESEC/FSE. pp. 740–751. – reference: Hu, Y., Ahmed, U.Z., Mechtaev, S., Leong, B., Roychoudhury, A., 2019a. Re-Factoring Based Program Repair Applied to Programming Assignments. In: ASE. pp. 388–398. – reference: Hua, J., Zhang, M., Wang, K., Khurshid, S., 2018. Towards practical program repair with on-demand candidate generation. In: ICSE. pp. 12–23. – volume: 41 start-page: 75 year: 2006 end-page: 86 ident: b16 article-title: Why minimal guidance during instruction does not work: An analysis of the failure of constructivist, discovery, problem-based, experiential, and inquiry-based teaching publication-title: Educ. Psychol. – reference: Xin, Q., Reiss, S.P., 2017. Leveraging syntax-related code for automated program repair. In: ASE. pp. 660–670. – volume: 74 start-page: 470 year: 2009 end-page: 495 ident: b34 article-title: Comparison and evaluation of code clone detection techniques and tools: A qualitative approach publication-title: SCP – reference: Nguyen, A., Piech, C., Huang, J., Guibas, L.J., 2014. Codewebs: Scalable homework search for massive open online programming courses. In: WWW. pp. 491–502. – reference: Contractor, M.R., Rivero, C.R., 2022. Improving Program Matching to Automatically Repair Introductory Programs. In: ITS. pp. 323–335. – year: 2016 ident: b10 article-title: Practical Foundations for Programming Languages – reference: Singh, R., Gulwani, S., Solar-Lezama, A., 2013. Automated feedback generation for introductory programming assignments. In: PLDI. pp. 15–26. – volume: 29 start-page: 360 year: 2003 end-page: 384 ident: b42 article-title: Transformation-based diagnosis of student programs for programming tutoring systems publication-title: IEEE Trans. Serv. Comput. – start-page: 481 year: 2018 end-page: 495 ident: b40 article-title: Search, align, and repair: data-driven feedback generation for introductory programming exercises publication-title: PLDI – reference: D’Antoni, L., Samanta, R., Singh, R., 2016. Qlose: Program repair with quantitative objectives. In: CAV. pp. 383–401. – reference: Liu, X., Wang, S., Wang, P., Wu, D., 2019. Automatic grading of programming assignments: an approach based on formal semantics. In: ICSE. pp. 126–137. – reference: Piech, C., Huang, J., Nguyen, A., Phulsuksombati, M., Sahami, M., Guibas, L.J., 2015. Learning Program Embeddings to Propagate Feedback on Student Code. In: ICML. pp. 1093–1102. – reference: Marin, V.J., Contractor, M.R., Rivero, C.R., 2021. Flexible Program Alignment to Deliver Data-Driven Feedback to Novice Programmers. In: ITS, Vol. 12677. pp. 247–258. – reference: Garcia, D.D., Campbell, J., DeNero, J., Dorf, M.L., Reges, S., 2016. CS10K Teachers by 2017?: Try CS1K+ students NOW! Coping with the Largest CS1 Courses in History. In: SIGCSE. pp. 396–397. – year: 2016 ident: b44 article-title: 2015 Taulbee Survey – reference: Huang, J., Piech, C., Nguyen, A., Guibas, L.J., 2013. Syntactic and Functional Variability of a Million Code Submissions in a Machine Learning MOOC. In: AIED Workshops. – reference: Marin, V.J., Pereira, T., Sridharan, S., Rivero, C.R., 2017. Automated personalized feedback in introductory Java programming MOOCs. In: ICDE. pp. 1259–1270. – reference: Pu, Y., Narasimhan, K., Solar-Lezama, A., Barzilay, R., 2016. sk_p: A neural program corrector for MOOCs. In: SPLASH. pp. 39–40. – volume: 38 start-page: 54 year: 2012 end-page: 72 ident: b17 article-title: GenProg: A generic method for automatic software repair publication-title: IEEE Trans. Serv. Comput. – year: 2018 ident: b26 article-title: Codeforces: Problem difficulties – reference: Hu, Y., Ahmed, U.Z., Mechtaev, S., Leong, B., Roychoudhury, A., 2019b. Re-Factoring Based Program Repair Applied to Programming Assignments. In: ASE. pp. 388–398. – reference: Head, A., Glassman, E., Soares, G., Suzuki, R., Figueredo, L., D’Antoni, L., Hartmann, B., 2017. Writing Reusable Code Feedback at Scale with Mixed-Initiative Program Synthesis. In: L@S. pp. 89–98. – reference: Nguyen, T., Le-Cong, T., Luong, D., Duong, V., Le, X.D., Lo, D., Huynh, Q., 2022. FFL: Fine-grained Fault Localization for Student Programs via Syntactic and Semantic Reasoning. In: ICSME. pp. 151–162. – volume: 31 start-page: 74:1 year: 2022 end-page: 74:31 ident: b1 article-title: Verifix: Verified repair of programming assignments publication-title: ACM Trans. Softw. Eng. Methodol. – reference: Rolim, R., Soares, G., D’Antoni, L., Polozov, O., Gulwani, S., Gheyi, R., Suzuki, R., Hartmann, B., 2017. Learning syntactic program transformations from examples. In: ICSE. pp. 404–415. – volume: 51 start-page: 17:1 year: 2018 end-page: 17:24 ident: b27 article-title: Automatic software repair: A bibliography publication-title: CSUR – volume: 205 year: 2023 ident: b20 article-title: VsusFL: Variable-suspiciousness-based fault localization for novice programs publication-title: J. Syst. Softw. – year: 2021 ident: b7 article-title: Further generalizations of the jaccard index, CoRR abs/2110.09619 – reference: Coetzee, D., Fox, A., Hearst, M.A., Hartmann, B., 2014. Should your MOOC forum use a reputation system?. In: CSCW. pp. 1176–1187. – reference: Long, F., Rinard, M., 2016. Automatic patch generation by learning correct code. In: POPL. pp. 298–312. – ident: 10.1016/j.jss.2024.111960_b9 doi: 10.1145/3192366.3192387 – volume: 47 start-page: 277 issue: 2 year: 2017 ident: 10.1016/j.jss.2024.111960_b39 article-title: A recommendation approach for programming online judges supported by data preprocessing techniques publication-title: AI – year: 2016 ident: 10.1016/j.jss.2024.111960_b10 – ident: 10.1016/j.jss.2024.111960_b21 doi: 10.1145/1150402.1150522 – ident: 10.1016/j.jss.2024.111960_b23 doi: 10.1145/2837614.2837617 – year: 2016 ident: 10.1016/j.jss.2024.111960_b44 – ident: 10.1016/j.jss.2024.111960_b6 doi: 10.1145/3377814.3381707 – ident: 10.1016/j.jss.2024.111960_b31 doi: 10.1145/2984043.2989222 – ident: 10.1016/j.jss.2024.111960_b13 doi: 10.1109/ASE.2019.00044 – volume: 38 start-page: 54 issue: 1 year: 2012 ident: 10.1016/j.jss.2024.111960_b17 article-title: GenProg: A generic method for automatic software repair publication-title: IEEE Trans. Serv. Comput. – ident: 10.1016/j.jss.2024.111960_b43 doi: 10.1145/3106237.3106262 – ident: 10.1016/j.jss.2024.111960_b3 doi: 10.1145/2531602.2531657 – ident: 10.1016/j.jss.2024.111960_b30 – year: 2018 ident: 10.1016/j.jss.2024.111960_b26 – ident: 10.1016/j.jss.2024.111960_b19 doi: 10.1007/978-3-319-35122-3_21 – volume: 205 year: 2023 ident: 10.1016/j.jss.2024.111960_b20 article-title: VsusFL: Variable-suspiciousness-based fault localization for novice programs publication-title: J. Syst. Softw. doi: 10.1016/j.jss.2023.111822 – ident: 10.1016/j.jss.2024.111960_b24 doi: 10.1007/978-3-030-80421-3_27 – volume: 31 start-page: 74:1 issue: 4 year: 2022 ident: 10.1016/j.jss.2024.111960_b1 article-title: Verifix: Verified repair of programming assignments publication-title: ACM Trans. Softw. Eng. Methodol. doi: 10.1145/3510418 – volume: 41 start-page: 75 issue: 2 year: 2006 ident: 10.1016/j.jss.2024.111960_b16 article-title: Why minimal guidance during instruction does not work: An analysis of the failure of constructivist, discovery, problem-based, experiential, and inquiry-based teaching publication-title: Educ. Psychol. doi: 10.1207/s15326985ep4102_1 – volume: 15 start-page: 475 issue: 5–6 year: 2013 ident: 10.1016/j.jss.2024.111960_b37 article-title: Program sketching publication-title: STTT doi: 10.1007/s10009-012-0249-7 – ident: 10.1016/j.jss.2024.111960_b11 doi: 10.1145/3051457.3051467 – ident: 10.1016/j.jss.2024.111960_b15 – ident: 10.1016/j.jss.2024.111960_b33 doi: 10.1109/ICSE.2017.44 – ident: 10.1016/j.jss.2024.111960_b12 doi: 10.1109/ASE.2019.00044 – ident: 10.1016/j.jss.2024.111960_b29 doi: 10.1145/2566486.2568023 – ident: 10.1016/j.jss.2024.111960_b41 doi: 10.1109/ASE.2017.8115676 – volume: 29 start-page: 360 issue: 4 year: 2003 ident: 10.1016/j.jss.2024.111960_b42 article-title: Transformation-based diagnosis of student programs for programming tutoring systems publication-title: IEEE Trans. Serv. Comput. – year: 2021 ident: 10.1016/j.jss.2024.111960_b7 – year: 2021 ident: 10.1016/j.jss.2024.111960_b2 – ident: 10.1016/j.jss.2024.111960_b35 doi: 10.1145/2737924.2737988 – ident: 10.1016/j.jss.2024.111960_b36 doi: 10.1145/2491956.2462195 – ident: 10.1016/j.jss.2024.111960_b18 doi: 10.1109/ICSE.2012.6227183 – start-page: 481 year: 2018 ident: 10.1016/j.jss.2024.111960_b40 article-title: Search, align, and repair: data-driven feedback generation for introductory programming exercises – ident: 10.1016/j.jss.2024.111960_b25 doi: 10.1109/ICDE.2017.169 – volume: 74 start-page: 470 issue: 7 year: 2009 ident: 10.1016/j.jss.2024.111960_b34 article-title: Comparison and evaluation of code clone detection techniques and tools: A qualitative approach publication-title: SCP – ident: 10.1016/j.jss.2024.111960_b5 doi: 10.1007/978-3-319-41540-6_21 – volume: 15 issue: 2 year: 2012 ident: 10.1016/j.jss.2024.111960_b32 article-title: MOOCs and the AI-Stanford like courses: Two successful and distinct course formats for massive open online courses publication-title: EURODL – ident: 10.1016/j.jss.2024.111960_b22 doi: 10.1109/ICSE-SEET.2019.00022 – ident: 10.1016/j.jss.2024.111960_b28 doi: 10.1109/ICSME55016.2022.00022 – ident: 10.1016/j.jss.2024.111960_b38 doi: 10.1109/ISSRE.2010.36 – ident: 10.1016/j.jss.2024.111960_b4 doi: 10.1007/978-3-031-09680-8_30 – volume: 51 start-page: 17:1 issue: 1 year: 2018 ident: 10.1016/j.jss.2024.111960_b27 article-title: Automatic software repair: A bibliography publication-title: CSUR – ident: 10.1016/j.jss.2024.111960_b8 doi: 10.1145/2839509.2844660 – ident: 10.1016/j.jss.2024.111960_b14 doi: 10.1145/3180155.3180245 |
| SSID | ssj0007202 |
| Score | 2.410038 |
| Snippet | Supporting learners in introductory programming assignments at scale is a necessity. This support includes automated feedback on what learners did incorrectly.... |
| SourceID | crossref elsevier |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 111960 |
| SubjectTerms | Approximate graph alignment Automated program repair Control flow graph Data-driven feedback |
| Title | Flexible control flow graph alignment for delivering data-driven feedback to novice programming learners |
| URI | https://dx.doi.org/10.1016/j.jss.2024.111960 |
| Volume | 210 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals 2021 issn: 0164-1212 databaseCode: AIEXJ dateStart: 19950101 customDbUrl: isFulltext: true dateEnd: 99991231 titleUrlDefault: https://www.sciencedirect.com omitProxy: false ssIdentifier: ssj0007202 providerName: Elsevier |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1db9MwFLVKxwMvfCPGl_zAE1WqxPl-nKZNgGBC00B9i2I7Ji0hmZpunfgb_GHuje0kGwyxB16iKrJdt_fo-sg-95iQ1z6s2jx1lVOwmDmBx4STJiEHIscDkfAw1xVyXz7ER0fJYpF-mkx-2lqY8yqu6-TiIj39r6GGdxBsLJ29Qbj7QeEFfIagwxPCDs9_CvwhWlxiPZRVoauq2c46Y-oZkO6v-vgf1YWyqFCVgZsFKBR15BpT30zBgsZz8Q1pad1gJrEqru_YtLtnwujmLa0dCsw6aqvtobX7cwt5fpsPEtv9stnK0pzef0Qdz7ZcyjMACm_zXimMplnrXB8oYEFRiVqy42X-oz8gwpk3RrJSNe3seD7ewGBj3YvZ04zQOtG7lJSZEbvqtAoJOdXXDvyW8fXmw2q-atF8nQXzoe1ld-0rq16vRbQyt1UGQ2Q4RKaHuEV2WBymyZTs7L07WLzvF_iYdVLWft72sLyTDV6Zx5_pzojCnNwnd02A6J7GzAMyKeqH5J6914OaNP-IlBZC1ECIIoRoByHaQ4gChOgAITqCELUQopuGagjREYSohdBj8vnw4GT_rWNu5HAE_M6NEwuhwkiEymWc5wzoa-5Hys2VCF1fJtIvRJhyL1ZAM2PFBHDfQMhIyMSVkYLGT8i0buriKaHQI4UOkc8LDiRe5lHg8hCNcz3o4kW7xLV_XCaMXT3emlJl1wZsl7zpu5xqr5a_NQ5sNDJDNjWJzABZ13d7dpPveE7uDIB_Qaab9VnxktwW55tlu35lYPULwKWj4w |
| linkProvider | Elsevier |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Flexible+control+flow+graph+alignment+for+delivering+data-driven+feedback+to+novice+programming+learners&rft.jtitle=The+Journal+of+systems+and+software&rft.au=Chowdhury%2C+Md+Towhidul+Absar&rft.au=Contractor%2C+Maheen+Riaz&rft.au=Rivero%2C+Carlos+R.&rft.date=2024-04-01&rft.issn=0164-1212&rft.volume=210&rft.spage=111960&rft_id=info:doi/10.1016%2Fj.jss.2024.111960&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_jss_2024_111960 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0164-1212&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0164-1212&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0164-1212&client=summon |