Department or Program
Primary Wellesley Thesis Advisor
MIT App Inventor 2 (AI2) is a visual environment where programs for Android mobile devices are composed of blocks resembling puzzle pieces. App Inventor lowers barriers for novices by providing visual guidance for understanding programs and by reducing common programming errors, but it does not eliminate errors entirely. Preliminary analysis of the users’ runtime errors shows that better debugging tools for AI2 are needed. People often encounter the same error or a series of errors before they find a solution or give up.
I have implemented AI2 features to help programmers pinpoint the source of runtime errors. In live development mode, AI2 users can test on their devices blocks programs written in a web browser on their computer. Previously, often cryptic runtime error messages were displayed in a dialogue box in the browser window. With my changes, more meaningful runtime error messages are displayed on the block causing the error. I have also implemented a watch feature that allows users to track values of variables and expressions. My version is an improved version of the watch from App Inventor Classic.
I have also implemented the means to collect more meaningful data on users errors. Currently, runtime error reports in live development mode are automatically stored in a cloud database. The reports include only the error message, the time of the error, and the device on which it was generated. I have augmented the error reports to include the current program code and its author. This extra information can be used to better understand who generates errors, why they are generated, and how users try to fix them. This information will support better debugging and, in the future, can be a basis for an intelligent debugging tutor.