Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3510454.3516861acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

CIDER: concept-based interactive design recovery

Published: 19 October 2022 Publication History

Abstract

In this paper, we introduce CIDER, a Concept-based Interactive DEsign Recovery tool that recovers a software design in the form of hierarchically organized concepts. In addition to facilitating design comprehension, it also enables designers to assess design quality and identify design problems. It integrates multiple clustering algorithms to reduce the complexity of the recovered design structure, leverages information retrieval techniques to name each cluster using the most relevant topic terms to ease design comprehension, and identifies and labels highly-coupled file clusters to reveal possible design problems. It enables interactive selection of concepts of interest and recovers partial design structures accordingly. The user can also interactively change the levels of recovered hierarchical structure to visualize the design at different granularities.

References

[1]
Periklis Andritsos and Vassilios Tzerpos. 2005. Information-Theoretic Software Clustering. IEEE Transactions on Software Engineering 31, 2 (Feb. 2005), 150--165.
[2]
David M Blei, Andrew Y Ng, and Michael I Jordan. 2003. Latent dirichlet allocation. Journal of machine Learning research 3, Jan (2003), 993--1022.
[3]
K. Chen and V. Rajlich. 2000. Case study of feature location using dependence graph. In Proceedings IWPC 2000. 8th International Workshop on Program Comprehension. 241--247.
[4]
Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2011. Feature Location in Source Code: A Taxonomy and Survey. In Journal of Software Maintenance and Evolution: Research and Practice.
[5]
J. Garcia, D. Popescu, C. Mattmann, N. Medvidovic, and Yuanfang Cai. 2011. Enhancing architectural recovery using concerns. In 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011). 552--555.
[6]
S. Mancoridis, B. S. Mitchell, Y. Chen, and E. R. Gansner. 1999. Bunch: a clustering tool for the recovery and maintenance of software system structures. In Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360). 50--59.
[7]
Onaiza Maqbool and Haroon A. Babri. 2007. Hierarchical Clustering for Software Architecture Recovery. IEEE Transactions on Software Engineering 33, 11 (Nov. 2007), 759--780.
[8]
Brian S. Mitchell and Spiros Mancoridis. 2001. Comparing the Cecompositions Produced by Software Clustering Algorithms Using Similarity Measurements. In Proc. IEEE International Conference on Software Maintenance. 744--753.
[9]
Ran Mo, Yuanfang Cai, Rick Kazman, Lu Xiao, and Qiong Feng. 2016. Decoupling Level: A New Metric for Architectural Maintenance Complexity. In Proc. 38rd International Conference on Software Engineering.
[10]
R. Mo, Y. Cai, R. Kazman, L. Xiao, and Q. Feng. 2019. Architecture Anti-patterns: Automatically Detectable Violations of Design Principles. IEEE Transactions on Software Engineering (2019), 1--1.
[11]
Ran Mo, Will Snipes, Yuanfang Cai, Srini Ramaswamy, Rick Kazman, and Martin Naedele. 2018. Experiences Applying Automated Architecture Analysis Tool Suites. In Proc. ASE. ACM, 779--789.
[12]
David L. Parnas. 1972. On the Criteria to be Used in Decomposing Systems into Modules. Commun. ACM 15, 12 (Dec. 1972), 1053--8.
[13]
Karen Sparck Jones. 2004. A statistical interpretation of term specificity and its application in retrieval. Journal of documentation 60, 5 (2004), 493--502.
[14]
V. Tzerpos and R. C. Holt. 2000. ACCD: an algorithm for comprehension-driven clustering. In Proceedings Seventh Working Conference on Reverse Engineering. 258--267.
[15]
Vassilios Tzerpos and Richard C. Holt. 2000. ACDC: An Algorithm for Comprehension-Driven Clustering. In Proc. 7th Working Conference on Reverse Engineering. 258--267.
[16]
S. Wong, Y. Cai, G. Valetto, G. Simeonov, and K. Sethi. 2009. Design Rule Hierarchies and Parallelism in Software Development Tasks. In 2009 IEEE/ACM International Conference on Automated Software Engineering. 197--208.
[17]
Lu Xiao, Yuanfang Cai, and Rick Kazman. 2014. Design rule spaces: a new form of architecture insight. In International Conference on Software Engineering, Pankaj Jalote, Lionel C. Briand, and André van der Hoek (Eds.). ACM, 967--977. http://dblp.uni-trier.de/db/conf/icse/icse2014.html#XiaoCK14
[18]
Wei Zhao, Lu Zhang, Yin Liu, Jiasu Sun, and Fuqing Yang. 2006. SNIAFL: Towards a Static Noninteractive Approach to Feature Location. ACM Trans. Softw. Eng. Methodol. 15, 2 (April 2006), 195--226.

Cited By

View all
  • (2024)ERD-CQC : Enhanced Rule and Dependency Code Quality Check for JavaProceedings of the 15th Asia-Pacific Symposium on Internetware10.1145/3671016.3674820(377-386)Online publication date: 24-Jul-2024
  • (2024)3Erefactor: Effective, Efficient and Executable Refactoring Recommendation for Software Architectural ConsistencyIEEE Transactions on Software Engineering10.1109/TSE.2024.344956450:10(2633-2655)Online publication date: Oct-2024
  • (2023)Identifying Code Changes for Architecture Decay via a Metric Forest Structure2023 ACM/IEEE International Conference on Technical Debt (TechDebt)10.1109/TechDebt59074.2023.00014(62-71)Online publication date: May-2023

Index Terms

  1. CIDER: concept-based interactive design recovery
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Please enable JavaScript to view thecomments powered by Disqus.

          Information & Contributors

          Information

          Published In

          cover image ACM Conferences
          ICSE '22: Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings
          May 2022
          394 pages
          ISBN:9781450392235
          DOI:10.1145/3510454
          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Sponsors

          In-Cooperation

          • IEEE CS

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          Published: 19 October 2022

          Permissions

          Request permissions for this article.

          Check for updates

          Qualifiers

          • Research-article

          Conference

          ICSE '22
          Sponsor:

          Acceptance Rates

          Overall Acceptance Rate 276 of 1,856 submissions, 15%

          Upcoming Conference

          ICSE 2025

          Contributors

          Other Metrics

          Bibliometrics & Citations

          Bibliometrics

          Article Metrics

          • Downloads (Last 12 months)25
          • Downloads (Last 6 weeks)1
          Reflects downloads up to 27 Nov 2024

          Other Metrics

          Citations

          Cited By

          View all
          • (2024)ERD-CQC : Enhanced Rule and Dependency Code Quality Check for JavaProceedings of the 15th Asia-Pacific Symposium on Internetware10.1145/3671016.3674820(377-386)Online publication date: 24-Jul-2024
          • (2024)3Erefactor: Effective, Efficient and Executable Refactoring Recommendation for Software Architectural ConsistencyIEEE Transactions on Software Engineering10.1109/TSE.2024.344956450:10(2633-2655)Online publication date: Oct-2024
          • (2023)Identifying Code Changes for Architecture Decay via a Metric Forest Structure2023 ACM/IEEE International Conference on Technical Debt (TechDebt)10.1109/TechDebt59074.2023.00014(62-71)Online publication date: May-2023
          • (2023)Technical Debt Management: The Road Ahead for Successful Software Delivery2023 IEEE/ACM International Conference on Software Engineering: Future of Software Engineering (ICSE-FoSE)10.1109/ICSE-FoSE59343.2023.00007(15-30)Online publication date: 14-May-2023

          View Options

          Login options

          View options

          PDF

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          Media

          Figures

          Other

          Tables

          Share

          Share

          Share this Publication link

          Share on social media