Legacy Software Restructuring: Analyzing a Concrete Case
Nicolas Anquetil (INRIA Lille - Nord Europe), Jannik Laval (INRIA, Lille - Nord Europe)

TL;DR
This paper investigates the effectiveness of common cohesion and coupling metrics in a real-world software restructuring case on the Eclipse platform, finding they did not assist engineers as expected.
Contribution
It provides an empirical analysis of the relevance of traditional metrics in practical software restructuring, challenging their assumed usefulness.
Findings
Metrics did not behave as expected during restructuring
Traditional metrics likely do not aid maintainers in restructuring tasks
Reducing cyclic dependencies did not meet expected outcomes
Abstract
Software re-modularization is an old preoccupation of reverse engineering research. The advantages of a well structured or modularized system are well known. Yet after so much time and efforts, the field seems unable to come up with solutions that make a clear difference in practice. Recently, some researchers started to question whether some basic assumptions of the field were not overrated. The main one consists in evaluating the high-cohesion/low-coupling dogma with metrics of unknown relevance. In this paper, we study a real structuring case (on the Eclipse platform) to try to better understand if (some) existing metrics would have helped the software engineers in the task. Results show that the cohesion and coupling metrics used in the experiment did not behave as expected and would probably not have helped the maintainers reach there goal. We also measured another possible…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Engineering Techniques and Practices · Advanced Software Engineering Methodologies
