object oriented cohesion metrics, code restructuring, extract class, program slicing, graph theory
When software systems grow large during maintenance, they may lose their quality and become complex to read, understood and maintained. Developing a software system usually requires teams of developers working in concert to provide a finished product in a reasonable amount of time. What that means is many people may read each component of the software system such as a class in object oriented programming environment.
Kaya, Mehmet and Fawcett, Jim, "A new cohesion metric and restructuring technique for object oriented paradigm" (2011). Electrical Engineering and Computer Science Technical Reports. 73.