Abstract
Clone detection is well established for imperative programs. It works mostly on the statement level and therefore is ill-suited for functional programs, whose main constituents are expressions and types. In this paper we introduce clone detection for functional programs using a new intermediate program representation, dubbed Functional Control Tree. We extend clone detection to the identification of non-trivial functional program clones based on the recursion patterns from the so-called Bird-Meertens formalism.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bird, R.: Functional Programming Using Haskell. Series in Computer Science. ph (1998)
Bird, R., Moor, O.: The Algebra of Programming. Series in Computer Science. ph (1997)
Meijer, E., Fokkinga, M., Paterson, R.: Functional programming with bananas, lenses, envelopes and barbed wire. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 124–144. Springer, Heidelberg (1991)
HaRe project webpage, http://www.cs.kent.ac.uk/projects/refactor-fp/hare.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rodrigues, N., Vilaça, J.L. (2010). Identifying Clones in Functional Programs for Refactoring. In: Quintela Varajão, J.E., Cruz-Cunha, M.M., Putnik, G.D., Trigo, A. (eds) ENTERprise Information Systems. CENTERIS 2010. Communications in Computer and Information Science, vol 109. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16402-6_33
Download citation
DOI: https://doi.org/10.1007/978-3-642-16402-6_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16401-9
Online ISBN: 978-3-642-16402-6
eBook Packages: Computer ScienceComputer Science (R0)