Treffer: PABLO and PYRITE: Helping Novices Debug Python Code Through Data-Driven Fault Localization and Repair

Title:
PABLO and PYRITE: Helping Novices Debug Python Code Through Data-Driven Fault Localization and Repair
Publisher Information:
eScholarship, University of California 2021-01-01
Document Type:
E-Ressource Electronic Resource
Availability:
Open access content. Open access content
public
Note:
application/pdf
English
Other Numbers:
CDLER oai:escholarship.org:ark:/13030/qt8831m6r1
qt8831m6r1
1367504922
Contributing Source:
UC MASS DIGITIZATION
From OAIster®, provided by the OCLC Cooperative.
Accession Number:
edsoai.on1367504922
Database:
OAIster

Weitere Informationen

As dynamically-typed languages grow in popularity, especially among beginning programmers, novices have an increased need for scalable, helpful feedback for fixing their bugs.Localization and repair can be ambiguous: not all repairs which prevent the program from crashing are equally useful for beginners. We propose scalable approaches for fault localization and repair for dynamic languages that are helpful for debugging and generalize to handle a wide variety of errors commonly faced by novice programmers. We base our approach on a combination of static, dynamic, and contextual features, guided by machine learning. We evaluate on over 980,000 diverse real user interactions across four years from the popular PythonTutor.com website, which is used both in classes and by non-traditional learners. We find that our approach is scalable, general, and quite accurate: up to 77% of these historical novice users would have been helped by our top-three localization responses, compared to 45% for the default interpreter, and we successfully synthesize repairs to 76% of our historical buggy programs. We also conducted two human studies. Participants preferred our localization approach to the baseline (p = 0.018), and found it additionally useful for bugs meriting multiple edits. Participants found our repairs to contain helpful information beyond the baseline in 45% of programs.