2019/03/16 by Daniel C. Link, Daniel Link, Link, Daniel +6 · 1 citation
Computer Science · #Architecture #Computer science #Distributed computing #Documentation #Risk analysis (engineering) #Scalability #Set (abstract data type) #Software #Software Engineering Research #Software Engineering Techniques and Practices #Software Reliability and Analysis Research #Software development #Software engineering #Software system #Technical debt #cs.SE
paper · pdf · doi:10.48550/arxiv.1903.06895
published in arXiv (Cornell University) (Cornell University) · 10 pages, 9 figures. To be published in the proceedings of the International Conference on Software and System Processes, Montreal 2019
arxiv created 2019/03/16 · openalex publication_date 2019/03/16 · arxiv updated 2019/03/19 · openalex created_date 2022/07/13 · openalex updated_date 2026/08/05
The stakeholders of a system are legitimately interested in whether and how\nits architecture reflects their respective concerns at each point of its\ndevelopment and maintenance processes. Having such knowledge available at all\ntimes would enable them to continually adjust their systems structure at each\njuncture and reduce the buildup of technical debt that can be hard to reduce\nonce it has persisted over many iterations. Unfortunately, software systems\noften lack reliable and current documentation about their architecture. In\norder to remedy this situation, researchers have conceived a number of\narchitectural recovery methods, some of them concern-oriented. However, the\ndesign choices forming the bases of most existing recovery methods make it so\nnone of them have a complete set of desirable qualities for the purpose stated\nabove. Tailoring a recovery to a system is either not possible or only through\niterative experiments with numeric parameters. Furthermore, limitations in\ntheir scalability make it prohibitive to apply the existing techniques to large\nsystems. Finally, since several current recovery methods employ\nnon-deterministic sampling, their inconsistent results do not lend themselves\nwell to tracking a systems course over several versions, as needed by its\nstakeholders. RELAX (RELiable Architecture EXtraction), a new concern-based\nrecovery method that uses text classification, addresses these issues\nefficiently by (1) assembling the overall recovery result from smaller,\nindependent parts, (2) basing it on an algorithm with linear time complexity\nand (3) being tailorable to the recovery of a single system or a sequence\nthereof through the selection of meaningfully named, semantic topics. An\nintuitive, informative architectural visualization rounds out RELAX's\ncontributions. RELAX is illustrated on a number of existing open-source systems\nand compared to other recovery methods.\n