Refactoring is one of the newer fads of ad hoc software engineering. It comprises of an ever-growing number of allegedly behaviour-preserving program transformation rules. Your task is to investigate one or more of: 1. the soundness of these rules 2. the effect of refactoring on software metrics scores 3. the feasibility of an automated tool that combines genetic algorithms with refactoring and software metrics
Comments:
1. is a mildly theoretical topic requiring a modest amount of mathemtical maturity, 2. is empirical in nature, 3. is a buzzword-compliant practical topic perhaps suitable for a group