On the automatic recovery of style-specific architectural relations in software systems

被引:0
|
作者
Traverso M. [1 ]
Mancoridis S. [1 ]
机构
[1] Department of Computer Science, College of Engineering, Drexel University, Philadelphia, PA
基金
美国国家科学基金会;
关键词
Reverse engineering; Software architecture; Software maintenance;
D O I
10.1023/A:1020346626363
中图分类号
学科分类号
摘要
The cost of maintaining a software system over a long period of time far exceeds its initial development cost. Much of the maintenance cost is attributed to the time required by new developers to understand legacy systems. High-level structural information helps maintainers navigate through the numerous low-level components and relations present in the source code. Modularization tools can be used to produce subsystem decompositions from the source code but do not typically produce high-level architectural relations between the newly found subsystems. Controlling subsystem interactions is one important way in which the overall complexity of software maintenance can be reduced. We have developed a tool, called ARIS (Architecture Relation Inference System), that enables software engineers to define rules and relations for regulating subsystem interactions. These rules and relations are called Interconnection Styles and are defined using a visual notation. The style definition is used by our tool to infer subsystem-level relations in designs being reverse engineered from source code. In this paper we describe our tool and its underlying techniques and algorithms. Using a case study, we describe how ARIS is used to reverse engineer high-level structural information from a real application.
引用
收藏
页码:331 / 360
页数:29
相关论文
共 50 条
  • [41] An architectural style for data-driven systems
    Mahjourian, Reza
    HIGH CONFIDENCE SOFTWARE REUSE IN LARGE SYSTEMS, PROCEEDINGS, 2008, 5030 : 14 - 25
  • [42] Designing an Architectural Style for Pervasive Healthcare Systems
    Vahid Rafe
    Masoumeh Hajvali
    Journal of Medical Systems, 2013, 37
  • [43] AN ARCHITECTURAL BASIS FOR EVOLVING SOFTWARE SYSTEMS
    LEARY, JR
    JOURNAL OF SYSTEMS AND SOFTWARE, 1995, 30 (1-2) : 27 - 43
  • [44] Automatic generation and targeting of application-specific operating systems and embedded systems software
    Gauthier, L
    Yoo, S
    Jerraya, AA
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2001, 20 (11) : 1293 - 1301
  • [45] Automatic recovery from software failure
    Robertson, P
    Williams, B
    COMMUNICATIONS OF THE ACM, 2006, 49 (03) : 41 - 47
  • [46] Architectural Availability Analysis of Software Decomposition for Local Recovery
    Boudali, Hichem
    Sozer, Hasan
    Stoelinga, Marielle
    2009 THIRD IEEE INTERNATIONAL CONFERENCE ON SECURE SOFTWARE INTEGRATION AND RELIABILITY IMPROVEMENT, PROCEEDINGS, 2009, : 14 - 22
  • [47] Relax: An Architectural Framework for Software Recovery of Hardware Faults
    de Kruijf, Marc
    Nomura, Shuou
    Sankaralingam, Karthikeyan
    ISCA 2010: THE 37TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, 2010, : 497 - 508
  • [48] Architectural layer recovery for software system understanding and evolution
    Scanniello, Giuseppe
    D'Amico, Anna
    D'Amico, Carmela
    D'Amico, Teodora
    SOFTWARE-PRACTICE & EXPERIENCE, 2010, 40 (10): : 897 - 916
  • [49] Automatic Bug Triage in Software Systems Using Graph Neighborhood Relations for Feature Augmentation
    Alazzam, Iyad
    Aleroud, Ahmed
    Al Latifah, Zainab
    Karabatis, George
    IEEE TRANSACTIONS ON COMPUTATIONAL SOCIAL SYSTEMS, 2020, 7 (05) : 1288 - 1303
  • [50] A component- and message-based architectural style for GUI software
    Taylor, RN
    Medvidovic, N
    Anderson, KM
    Whitehead, EJ
    Robbins, JE
    Nies, KA
    Oreizy, P
    Dubrow, DL
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1996, 22 (06) : 390 - 406