Separation of concerns is a longstanding software design principle, and its violation is among the costliest forms of design-level technical debt, elevating defect rates and slowing development as systems grow. Many software engineering tasks are centered around identifying or rectifying this design debt, from refactoring recommenders and architecture recovery algorithms to quality metrics like coupling and cohesion. The common prerequisite across all of these tasks is the ability to identify the discrete concerns of a complex codebase, i.e., cohesive groups of program entities that fulfill a shared responsibility. This thesis proposes that modeling concerns directly is both feasible and valuable for design debt management, grounded in the insight that concerns can be inferred using contextual cues such as class membership. This thesis presents five contributions: (1) an empirical study revealing that existing technical debt tools disagree substantially and are often no more informative than the heuristic that "big files are bad''; (2) NeoDepends, a multi-language extraction tool for program entities, dependencies, and co-change relations; (3) Deicide, a class decomposition algorithm achieving nearly double the co-change alignment of existing approaches; (4) ConcernBERT, an embedding model trained on class membership that outperforms seven baselines by 31–55%; and (5) Concern Deviation, a cohesion metric that outperforms twelve existing metrics against expert judgments. By establishing a stronger foundation for automated concern identification, these contributions advance not only the specific tasks evaluated here but the broader class of software engineering problems for which concern identification is an essential first step.
Metrics
1 Record Views
Details
Title
Concern-based management of design debt
Creators
Jason Lefever
Contributors
Yuanfang Cai (Advisor)
Awarding Institution
Drexel University
Degree Awarded
Doctor of Philosophy (Ph.D.)
Publisher
Drexel University
Number of pages
xi, 172 pages
Resource Type
Dissertation
Language
English
Academic Unit
Computer Science (Computing) (2013-2026); College of Computing and Informatics (2013-2026); Drexel University