Reverse engineering of software threads: A design recovery technique for large multi-process systems

被引:6
作者
Wilde, N
Casey, C
Vandeville, J
Trio, G
Hotz, D
机构
[1] Univ W Florida, Dept Comp Sci, Pensacola, FL 32514 USA
[2] Northrop Grumman Corp, Surveillance & Battle Management Syst, Melbourne, FL 32902 USA
基金
美国国家科学基金会;
关键词
design recovery; program comprehension; reverse engineering; multi-process systems;
D O I
10.1016/S0164-1212(98)10018-3
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many software systems currently being deployed in both military and industrial domains serve their users through a large number of concurrent processes, Such systems are expensive and time consuming to build and thus cannot be lightly discarded when circumstances change. Instead, the systems must be able to evolve to meet new challenges. But a software system cannot evolve without an understanding of its design, and such understanding is easily lost when the developers disperse. A particularly difficult problem may be to understand how the many processes cooperate to produce each functionality that the user needs. This paper presents a novel, but relatively simple method for using traces of inter-process messages to recover functional software design threads from a large, multi-process system. The method is illustrated with a preliminary case study of the Joint STARS battle management software. The method seems to be effective in identifying the "as built" threads, and in providing unexpected insights even to Software Engineers who are relatively familiar with the system. Design thread recovery for Joint STARS is feasible because instrumentation to capture inter-process messages was designed into the original system. Our results suggest that the designers of new systems should give thought to including such instrumentation since the cost is small and the future economic benefits in easier evolution could be very large. (C) 1998 Elsevier Science Inc. All rights reserved.
引用
收藏
页码:11 / 17
页数:7
相关论文
共 10 条
[1]  
Beizer B., 2003, Software Testing Techniques
[2]   REVERSE ENGINEERING AND DESIGN RECOVERY - A TAXONOMY [J].
CHIKOFSKY, EJ ;
CROSS, JH .
IEEE SOFTWARE, 1990, 7 (01) :13-17
[3]  
DAUPHIN P, 1994, READINGS DISTRIBUTED
[4]  
FAHRINGER T, 1995, COMPUTER, V28, P47, DOI 10.1109/2.471179
[5]  
Fiutem R, 1996, INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, P319, DOI 10.1109/ICSM.1996.565035
[6]   THE PARADYN PARALLEL PERFORMANCE-MEASUREMENT TOOL [J].
MILLER, BP ;
CALLAGHAN, MD ;
CARGILLE, JM ;
HOLLINGSWORTH, JK ;
IRVIN, RB ;
KARAVANIC, KL ;
KUNCHITHAPADAM, K ;
NEWHALL, T .
COMPUTER, 1995, 28 (11) :37-&
[7]  
SCULLY MC, 1993, SERCTR68F U FLOR
[8]   SOFTWARE RECONNAISSANCE - MAPPING PROGRAM FEATURES TO CODE [J].
WILDE, N ;
SCULLY, MC .
JOURNAL OF SOFTWARE MAINTENANCE-RESEARCH AND PRACTICE, 1995, 7 (01) :49-62
[9]  
Wilde N, 1996, INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, P312, DOI 10.1109/ICSM.1996.565034
[10]  
WILDE N, 1992, P INT C SOFTW MAINT, P200