As software evolves there is a tendency for size to increase and structure to degrade, leading to problems for on going maintenance and reverse engineering. This paper introduces a greedy dependence-based procedure splitting algorithm that provides automated support for analysis and intervention where procedures show signs of poor structure and overlarge size. The paper reports on the algorithms, implementation and empirical evaluation of procedure splitability. The study reveals a surprising prevalence of splitable procedures and a strong correlation between procedure size and splitability.
['Tao Jiang', 'Mark Harman', 'Youssef Hassoun']
Analysis of Procedure Splitability