Fault Localization for Novice Programs Combining Static Analysis and Dynamic Detection

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

In programming teaching, teachers or teaching assistants often need to spend a lot of energy helping students solve the problems they face when doing programming. It will be helpful to provide students with valuable programming feedback, such as information on faulty lines. However, most existing algorithms do not perform well on novice programs. Therefore, considering the background in programming teaching, we proposed a novel approach combining static analysis with dynamic detection by using the correct programs submitted by previous students and coverage information for the incorrect program. In particular, the core of the static analysis module is to locate specific faulty lines through syntax tree difference comparison, which includes matching similar programs, variable mapping and replacement, and fault localization based on abstract syntax tree differences. The core of the module on dynamic detection is to perform traditional Spectrum-based Fault Localization. To evaluate the effectiveness of our proposed approach, we conducted some empirical studies on 223 student-failure programs in the real world. The experimental results indicate that our approach outperforms other baselines regarding TOP-l and TOP-3. Furthermore, we analyzed the performance of our method on different categories of programming problems as well as the effectiveness of the combination of static analysis and dynamic detection.

Original languageEnglish
Title of host publicationProceedings - 2024 IEEE 48th Annual Computers, Software, and Applications Conference, COMPSAC 2024
EditorsHossain Shahriar, Hiroyuki Ohsaki, Moushumi Sharmin, Dave Towey, AKM Jahangir Alam Majumder, Yoshiaki Hori, Ji-Jiang Yang, Michiharu Takemoto, Nazmus Sakib, Ryohei Banno, Sheikh Iqbal Ahamed
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages94-102
Number of pages9
ISBN (Electronic)9798350376968
DOIs
StatePublished - 2024
Event48th IEEE Annual Computers, Software, and Applications Conference, COMPSAC 2024 - Osaka, Japan
Duration: 2 Jul 20244 Jul 2024

Publication series

NameProceedings - 2024 IEEE 48th Annual Computers, Software, and Applications Conference, COMPSAC 2024

Conference

Conference48th IEEE Annual Computers, Software, and Applications Conference, COMPSAC 2024
Country/TerritoryJapan
CityOsaka
Period2/07/244/07/24

Keywords

  • Fault Localization
  • Novice Programs
  • Programming Education

Fingerprint

Dive into the research topics of 'Fault Localization for Novice Programs Combining Static Analysis and Dynamic Detection'. Together they form a unique fingerprint.

Cite this