Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Experiments with Clustering as a Software Remodularization Method
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
An empirical study of the robustness of two module clustering fitness functions
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Programming Erlang: Software for a Concurrent World
Programming Erlang: Software for a Concurrent World
Cleaning up Erlang code is a dirty job but somebody's gotta do it
Proceedings of the 8th ACM SIGPLAN workshop on ERLANG
Automatic refactoring of Erlang programs
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Analysis of preprocessor constructs in Erlang
Proceedings of the 9th ACM SIGPLAN workshop on Erlang
Hi-index | 0.00 |
This paper focuses on restructuring software written in Erlang. In large software projects, it is a common problem that internal structural complexity can grow to an extent where maintenance becomes impossible. This situation can be avoided by careful design, building loosely coupled components with strictly defined interfaces. However, when these design decisions are not made in the right time, it becomes necessary to split an already working software into such components, without breaking its functionality. There is strong industrial demand for such transformations in refactoring legacy code. A refactoring tool is very useful in the execution of such a restructuring. This paper shows that the semantical analysis required for refactoring is also useful for making suggestions on clustering. Existing analysis results are used to cover the whole process of module restructuring, starting with planning the new structure, and finishing by making the necessary source code transformations.