kirancodes.me
To Proof Maintenance & Beyond!

Discovering repetitive code changes in ML systems

Malinda Dilhara

Abstract

Similar to software evolution in other software systems, ML software systems evolve with many repetitive changes. Despite some research and tooling for repetitive code changes that exist in Java and other languages, there is a lack of such tools for Python. Given the significant rise of ML software development, and that many ML developers are not professionally trained developers, the lack of software evolution tools for ML code is even more critical. To bring the ML developers’ toolset into the 21st century, we implemented an approach to adapt and reuse the vast ecosystem of Java static analysis tools for Python. Using this approach, we adapted two software evolution tools, RefactoringMiner and CPATMiner, to Python. With the tools, we conducted the first and most fine-grained study on code change patterns in 59 ML systems and surveyed 253 developers. We recommend empirically-justified, actionable opportunities for tool builders and release the tools for researchers.

BibTeX
@inproceedings{Dilhara:FSE21,
  author    = {Malinda Dilhara},
  title     = {Discovering repetitive code changes in {ML} systems},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {1683--1685},
  publisher = {{ACM}},
  year      = {2021},
}

Related papers