A case study on refactoring in Haskell programs

  • Authors:
  • Da Young Lee

  • Affiliations:
  • North Carolina State University, Raliegh, NC, USA

  • Venue:
  • Proceedings of the 33rd International Conference on Software Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Programmers use refactoring to improve the design of existing code without changing external behavior. Current research does not empirically answer the question, "Why and how do programmers refactor functional programs?" In order to answer the question, I conducted a case study on three open source projects in Haskell. I investigated changed portions of code in 55 successive versions of a given project to classify how programmers refactor. I found a total of 143 refactorings classified by 12 refactoring types. I also found 5 new refactoring types and propose two new refactoring tools that would be useful for developers.