Litcius/Paper detail

Subtle Bugs Everywhere: Generating Documentation for Data Wrangling Code

Chenyang Yang, Shurui Zhou, Jin Guo, Christian Kästner

20212021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)25 citationsDOI

Abstract

Data scientists reportedly spend a significant amount of their time in their daily routines on data wrangling, i.e. cleaning data and extracting features. However, data wrangling code is often repetitive and error-prone to write. Moreover, it is easy to introduce subtle bugs when reusing and adopting existing code, which results in reduced model quality. To support data scientists with data wrangling, we present a technique to generate documentation for data wrangling code. We use (1) program synthesis techniques to automatically summarize data transformations and (2) test case selection techniques to purposefully select representative examples from the data based on execution information collected with tailored dynamic program analysis. We demonstrate that a JupyterLab extension with our technique can provide on-demand documentation for many cells in popular notebooks and find in a user study that users with our plugin are faster and more effective at finding realistic bugs in data wrangling code.

Topics & Concepts

Computer scienceDocumentationCode (set theory)Programming languageReusePlug-inSoftware bugDatabaseSoftware engineeringSoftwareEngineeringSet (abstract data type)Waste managementSoftware Engineering ResearchSoftware Testing and Debugging TechniquesAdvanced Malware Detection Techniques