An evaluation of knowledge engineering approaches to the maintenance of evolutionary software

被引:6
|
作者
Chandra, C
Ramamoorthy, CV
机构
[1] Informix, Data Warehousing Business Dev Unit, Oakland, CA 94612 USA
[2] Univ Calif Berkeley, Div Comp Sci, Dept EECS, Berkeley, CA 94720 USA
关键词
software maintenance; software engineering; reverse engineering; reengineering;
D O I
10.1142/S0218194098000030
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Reverse engineering and reengineering are two major research challenges in the software maintenance process. Reverse engineering is the process of rederiving the specification of a program; and reengineering is the process of modifying an already existing software to add additional functionalities or to correct any malfunction. The difficulty in these tasks are that software development commonly involves many software engineers with implicit assumptions about the behavior of each module. These assumptions are not documented and often leads to inconsistencies in the code. During reverse engineering, such assumptions may not be uncovered. These assumptions usually have complex dependencies, and are the cause of a lot of bugs when the software is reengineered. Many approaches and prototype tools have been developed to address these issues. Reverse engineering and automated program understanding tools have been developed to support the reverse engineering tasks; while various theoretical works on structural program analysis and programs for automated ripple effect analysis have attempted to deal with the reengineering process. These works can be classified into two main types of approaches: those using shallow knowledge or knowledge about the structure of the system and those utilizing deep knowledge or knowledge about the semantics and behavior of the software system. In this paper, we attempt to survey works that have been done under these two broad categories of approaches to deal with the software maintenance tasks, evaluate the strengths and drawbacks of each approach, and attempt to draw a conclusion on the advantages and disadvantages of the two main lines of approaches.
引用
收藏
页码:3 / 20
页数:18
相关论文
共 50 条
  • [1] An evaluation of knowledge engineering approaches to the maintenance of evolutionary software
    Chandra, C
    Ramamoorthy, CV
    [J]. SEKE '96: THE 8TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, PROCEEDINGS, 1996, : 181 - 188
  • [2] An Evaluation of Knowledge Translation in Software Engineering
    Badampudi, Deepika
    Wohlin, Claes
    Gorschek, Tony
    [J]. 2019 13TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2019), 2019, : 13 - 18
  • [3] An Evaluation of Current Approaches and Tools for Software Redocumentation Process in Software Maintenance
    Sugumaran, N.
    Ibrahim, S.
    [J]. KNOWLEDGE MANAGEMENT AND INNOVATION: A BUSINESS COMPETITIVE EDGE PERSPECTIVE, VOLS 1-3, 2010, : 1369 - 1377
  • [4] Knowledge for software maintenance
    Taylor, M
    Moynihan, E
    WoodHarper, T
    [J]. JOURNAL OF INFORMATION TECHNOLOGY, 1997, 12 (02) : 155 - 166
  • [5] Software engineering and knowledge engineering
    Juristo, N
    Acuña, ST
    [J]. EXPERT SYSTEMS WITH APPLICATIONS, 2002, 23 (04) : 345 - 347
  • [6] Using software engineering knowledge to drive genetic program design using cultural algorithms - Exploiting the synergy of software engineering knowledge in evolutionary design
    Ostrowski, DA
    Reynolds, RG
    [J]. GENETIC PROGRAMMING THEORY AND PRACTICE, 2003, 6 : 63 - 80
  • [7] Evolutionary software engineering, a review
    Mantere, T
    Alander, JT
    [J]. APPLIED SOFT COMPUTING, 2005, 5 (03) : 315 - 331
  • [8] Blockchain Developments and Innovations - An Analytical Evaluation of Software Engineering Approaches
    Fahmideh, Mahdi
    Gunawardana, Anuradha
    Chen, Shiping
    Shen, Jun
    Yecies, Brian
    [J]. INTERNET OF THINGS - ICIOT 2021, 2022, 12993 : 58 - 76
  • [9] KNOWLEDGE AND SOFTWARE ENGINEERING
    VANDEVELDE, W
    [J]. ENGINEERING INTELLIGENT SYSTEMS FOR ELECTRICAL ENGINEERING AND COMMUNICATIONS, 1995, 3 (01): : 3 - 8
  • [10] HCI Knowledge in Software Engineering Practices for Designing Interactive Maintenance Assistance Systems
    Benbelkacem, S.
    Zenati-Henda, N.
    Belhocine, M.
    Bellarbi, A.
    Tadjine, M.
    [J]. 2012 IEEE 36TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2012, : 362 - +