Logo image
Concern-Based Management of Software Design Complexity
Conference proceeding

Concern-Based Management of Software Design Complexity

Jason Lefever
Proceedings of the IEEE/ACM 47th International Conference on Software Engineering: Companion Proceedings, pp 102-106
27 Apr 2025

Abstract

Social and professional topics Social and professional topics -- Professional topics Social and professional topics -- Professional topics -- Management of computing and information systems Social and professional topics -- Professional topics -- Management of computing and information systems -- Software management Social and professional topics -- Professional topics -- Management of computing and information systems -- Software management -- Software maintenance Software and its engineering Software and its engineering -- Software creation and management Software and its engineering -- Software creation and management -- Designing software Software and its engineering -- Software creation and management -- Software development techniques Software and its engineering -- Software creation and management -- Software development techniques -- Reusability Software and its engineering -- Software creation and management -- Software post-development issues Software and its engineering -- Software notations and tools Software and its engineering -- Software notations and tools -- General programming languages Software and its engineering -- Software organization and properties Software and its engineering -- Software organization and properties -- Software system structures Software and its engineering -- Software organization and properties -- Software system structures -- Software architectures
Managing design-level complexity in industrial software systems remains challenging, often resulting in error-prone, difficult-to-maintain codebases. Despite extensive research on metrics and refactoring tools, architects frequently rely more on intuition than on algorithmic approaches, highlighting the need for approaches that better align with expert judgment. This research proposes that large language models (LLMs), trained specifically to generate a "concern space," can organize program entities based on shared concerns, facilitating more meaningful metrics, refactoring suggestions, and systemlevel design views. Initial work with ConcernBERT, a purpose-trained LLM, shows significant advancements in representing cohesion over traditional concept-based methods. ConcernBERT uses a contrastive learning approach, where embeddings are learned by positioning entities addressing similar concerns close together while distancing unrelated ones. Complementing this, the Deicide algorithm identifies responsibility modules within classes, generating decomposition recommendations that align with historical maintenance patterns. Preliminary results are promising: ConcernBERT demonstrates strong performance in embedding entities by concern, closely aligning with expert-annotated ground truth. Future efforts will focus on applying these techniques across entire software systems.

Metrics

1 Record Views

Details

Logo image