ChameleonIDE: Untangling type errors through interactive visualization and exploration

Shuai Fu, Tim Dwyer, Peter J. Stuckey, Jackson Wain, Jesse Linossier

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

Abstract

Dynamically typed programming languages are popular in education and the software industry. While presenting a low barrier to entry, they suffer from runtime type errors and longer-term problems in code quality and maintainability. Statically typed languages, while showing strength in these aspects, lack in learnability and ease of use. In particular, fixing type errors poses challenges to both novice users and experts. Further, compiler type error messages are presented in a static way that is biased toward the first occurrence of the error in the program code. To help users resolve such type errors we introduce ChameleonIDE, a type debugging tool that presents type errors to the user in an unbiased way, allowing them to explore the full context of where the errors could occur. Programmers can interactively verify the steps of reasoning against their intention. Through three studies involving actual programmers, we showed that ChameleonIDE is more effective in fixing type errors than traditional text-based error messages. This difference is more significant in harder tasks. Further, programmers actively using ChameleonIDE's interactive features are shown to be more efficient in fixing type errors than passively reading the type error output.

Original languageEnglish
Title of host publicationProceedings - 2023 IEEE/ACM 31st International Conference on Program Comprehension, ICPC 2023
Place of PublicationPiscataway NJ USA
PublisherIEEE, Institute of Electrical and Electronics Engineers
Pages146-156
Number of pages11
ISBN (Electronic)9798350337501
ISBN (Print)9798350337518
DOIs
Publication statusPublished - 2023
EventInternational Conference on Program Comprehension 2023 - Melbourne, Australia
Duration: 15 May 202316 May 2023
Conference number: 31st
https://ieeexplore.ieee.org/xpl/conhome/10173929/proceeding (Proceedings)
https://conf.researchr.org/home/icpc-2023 (Website)

Conference

ConferenceInternational Conference on Program Comprehension 2023
Abbreviated titleICPC 2023
Country/TerritoryAustralia
CityMelbourne
Period15/05/2316/05/23
Internet address

Keywords

  • debugging
  • exploration
  • type errors
  • types
  • visualization
  • ARC Training Centre in Optimisation Technologies, Integrated Methodologies, and Applications (OPTIMA)

    Smith-Miles, K. (Primary Chief Investigator (PCI)), Stuckey, P. (Chief Investigator (CI)), Taylor, P. G. (Chief Investigator (CI)), Ernst, A. (Chief Investigator (CI)), Aickelin, U. (Chief Investigator (CI)), Garcia De La Banda Garcia, M. (Chief Investigator (CI)), Pearce, A. (Chief Investigator (CI)), Wallace, M. (Chief Investigator (CI)), Bondell, H. (Chief Investigator (CI)), Hyndman, R. (Chief Investigator (CI)), Alpcan, T. (Chief Investigator (CI)), Thomas, D. A. (Chief Investigator (CI)), Anjomshoa, H. (Chief Investigator (CI)), Kirley, M. G. (Chief Investigator (CI)), Tack, G. (Chief Investigator (CI)), Costa, A. (Chief Investigator (CI)), Fackrell, M. (Chief Investigator (CI)), Zhang, L. (Chief Investigator (CI)), Glazebrook, K. (Partner Investigator (PI)), Branke, J. (Partner Investigator (PI)), O'Sullivan, B. (Partner Investigator (PI)), O'Shea, N. (Partner Investigator (PI)), Cheah, A. (Partner Investigator (PI)), Meehan, A. (Partner Investigator (PI)), Wetenhall, P. (Partner Investigator (PI)), Bowly, D. (Partner Investigator (PI)), Bridge, J. (Chief Investigator (CI)), Faka, S. (Partner Investigator (PI)), Mareels, I. (Partner Investigator (PI)), Coleman, R. A. (Partner Investigator (PI)), Crook, J. (Partner Investigator (PI)), Liebman, A. (Chief Investigator (CI)) & Aleti, A. (Chief Investigator (CI))

    Equans Services Australia Pty Limited

    23/09/2123/09/26

    Project: Research

Cite this