Software 2
Software 2
Department
of Commerce Computer Science
National Bureau
of Standards
and Technology
, ."'V-
INST OF STAND S TECH R.I.C.
Software Maintenance
Management
nc—
100
U57
500-129
1985
c 2
.
T M
jM
he National Bureau of Standards' was established by an act of Congress on March 3, 1901. The
Bureau's overall goal is to strengthen and advance the nation's science and technology and facilitate
their effective application for public benefit. To this end, the Bureau conducts research and provides: (1) a
basis for the nation's physicalmeasurement system, (2) scientific and technological services for industry and
government, a technical basis for equity in trade, and (4) technical services to promote public safety.
(3)
The Bureau's technical work is performed by the National Measurement Laboratory, the National
Engineering Laboratory, the Institute for Computer Sciences and Technology, and the Institute for Materials
Science and Engineering
'Headquarters and Laboratories at Gaithersburg, MD, unless otherwise noted; mailing address
Gaithersburg, MD
20899.
'Some divisions within the center are located at Boulder, CO 80303.
^Located at Boulder, CO, with some elements at Gaithersburg, MD.
PAnOCAl BUR£M
Of ST DAW'S
UBKAJII
Computer Science
and Technology
Software Maintenance
Management
James A. McCall and Mary A. Herndon
Wilma M. Osborne
The National Bureau of Standards has a special responsibility within the Federal
Government for computer science and technology activities. The programs of the
NBS Institute for Computer Sciences and Technology are designed to provide ADP
standards, guidelines, and technical advisory services to improve the effectiveness
of computer utilization in the Federal sector, and to perform appropriate research
and development efforts as foundation for such activities and programs. This
publication series will report these NBS efforts to the Federal computer community as
well as to interested specialists in the academic and private sectors. Those wishing
to receive notices of publications in this series should complete and return the form
at the end of this publication.
For sale by the Superintendent of Documents. U.S. Government Printing Oflice, Washington. DC 20402
ABSTRACT
iii
TABLE OF CONTENTS
Section Page
2.0 BACKGROUND 3
2 . 1 Purpose 3
2.2 Introduction 4
2.3 Organization of Report 6
iv
TABLE OF CONTENTS (cont)
V
TABLE OF CONTENTS (cont)
13. REFERENCES 59
LIST OF TABLES
Section Page
List of Figures
vi
.
1 EXECUTIVE SUMMARY
- 1 -
Our recommendations are that software maintenance can be
improved hy taking the following steps:
- 2 -
. .
2 BACKGROUND
2.1 Purpose
- 3 -
.
2.2 Introduction
- 4 -
. ,
- 5 -
. . . .
- 6 -
TABLE 2.3-1 TOPIC INDEX
Common Mistakes/Pitfalls 10
Configuration Management 7
Costs 6
Decision Aids 9
Definitions 3
Estimating 6
Executive Summary 1
Introduction 2
Maintenance Measures 11
Management Plan 6
Organization 5
Performance Evaluation 4, 11
Performance Goals 11
Personnel Issues 4
Problems 3
Problem Reporting/Cliange Requests 7
Quality Assurance 7
Redesign Criteria 9
Scheduling 4
Software Maintainability 11
Software Support Tools 8
Standards and Conventions 7
Task Assignments 5
Testing 7
Test Coverage 9
Workbreakdown Structure 6
- 7 -
3 SOFTWARE MAINTENANCE DEFINITIONS
Perfective i LEVEL 2
Adaptive I
Corrective I Categories of
maintenance
Code Audits 1
- 8 -
.
0 Perfective Maintenance
- 9 -
0 Adaptive Maintenance
0 Corrective Maintenance
CATEGORY I ACTIVITY
- 10 -
. :
- 11 -
Change Requirements
Impact Analysis
User Interface
Problem Report Recording and Control
Change Request Recording and Control
Configuration Control
Data Base Modification
Code Modif ication/Recompilation
Code Debugging
Module/ Subsystem/ System Testing
Documentation Modification
Code Inspections/Walkthroughs
Test Data Generation
Management Planning and Control
Field Delivery
Administrative Support
User Assistance/Training
- 12 -
.
- 13 -
Tlie fifth problem area involved personnel issues such as
availability, lack of training, turnover, motivation,
ezperience, scheduling, etc.
- 14 -
Table 3.2-1 Survey Results
ji
*i
0
a fi.
0)
fi kt
IH
1
*> <M
o €9 <D
1
1
a>
o a 1
.A ID k.
1 «04J 1 B 1
O
1
«j
1 O 1
1
«H 0> o
1
A a
1
4J
IDa 1 SI o
1
o
1
B.
01o 1 > a 0)
1 1
It « o 1 a
1 r-t 1 o; 9 O 1 ID Q o
1 0) (0 1 0 T) *> 1 rH •3
1
-H
1 c a t>o 1
a> 1 O 4J
1
*i
o o o
1
\ 1 0)
O ID 1 O Q 0 •)
1 O »H 1 Ck.
o 0) w^ 4->
1
^
1 U V b
a>
«o
1
o D a
1
a
n 1 h u a 1 ID
A. a
1
u a fi H IS
1
C E
^
1
4J 1
F-t u u
1
•3 fi 0)
1 ll <M 1 B 1
£ a •m 3
1
< 1 4J 1 0) 0)
o o
1
) 0) O
fi 1
O
0) »i 4J 1
1 Cl.u 1 E O 1
It 4J
1
O O
(D ID 1
1 Q u a 1 Q, a 1
a >. o
1
O
0) >> 1
X 1 h « 1 d
tie
c o
1
D >4 *J
1
T5 ID 1
1 Vi 1 c c o
1
c « «-) a V. >». Vi ^
1 o >^ u 1 c & o >>
1
« fi iH o
1
O O O 01
1
>> 1 o 1 s)
o
1
>H U
1 1
1^ D O
4->
e 1 1 B a •x a V4 *i
>
1
1 O b « > a.
1
*i +3 4J 3
1
-H
1
a 1 ' 1
a> B M V M fi. •H a o
1
FI «
1
to 1 1^ « u 1 c~
o a
1
O fi. C k. «
1 t-1
u e e u
1
O 3 O &.<M
1
19 S > 3
I
J
B C
1 1
ki
CO 1 iO 1 D O •J b.
1
1 >3 m <H cu
GO
K 1 O O 1 o O O 1 o o o o 1 O O O O 1
1 *3 oni
01
1
CD
1 a 1 fH « fi
1
a> 1 fi.O O
ID 1 E a k> 1 o a kl
t- 1 a> «0 1 1 01 « B «0 to
c T3 B 1 1 fi. a .H O O O
^
1 1
1 c C c 1 B 1 1 a> 0) ^ kl a
1 « ID ) 0) F^ 1 « E 1 1 k. *i o a 'Wfi.fi.
1-4 1 £ *i 4J fi. o> 1 4JB 1 1 o a o B 0 ID
.3 •w 1 a C ID H a 1 a> a ) 1 1 ^ a o
IS 0 1 a c ki 0)a 1 kl <b kl 1 I •) « ID c e a
B E 0) o 1 U E «D 1 1 ID E B k. a> B «o
e 0) ID 1 ki •a ki ID 1 » c O 1
1
n a S B -H
0 1 o 4^ a ID ki 1 "O o kl 1 1 B fi. 3 X>0 IS
ID X> B. 1 w. 9 ID Q> 1 k. h fi. >, d O a O -H 0)
^
1 1
a O Q e 3 fi. 1 0 4^ E -4 V. O kl
^
1 1
k> 1 IC E k4 (0 1 X > O -H 1 1 Q) o •o O
-D o a> O t>04^ o 4J kl 1
T) e tM
w
1 1
u
1
O u O 0 c O
^c a
1 (3 ID •4 1 «0 1 1 »H
>> « 3 *3 OJ 4J (B ID DP «Ofh fH fH o O O
o 0. «
1 1 1 1
« ^ ID ^ 3 o •H D kl ^ d C > m c e 4J 4J 0
u 1
1 1 1
O O e O -H 1 » h T3 1 1 a, f4 o O f4 o > Ft -H 3
N T>0 k> 1 ki (D M 0) V 3 1 B 0) B « 1 1 fi.'F4 ID E fH f4 fh cr
*i ^ » jaC kl kc cr gj .a 0) E e k. k. U 4J d d
a
a
3 >
to O
1
i
Q>
ID
B
O «
LQ .3
BOO
D b. kl
1
1
£ O •O ^ •]
U ID < ID Q
1
1
1
1
o >
o<
0)
fi.i->
3 M t c
CO fi.X
3 3
oo<
(D
TJ
o o 1 O O O o o 1 o O O 1 1 o o o o o o o o
e 1 rs
t-i 1 a> a
£l e kl 1 1 B d 44
4J O 1 1 «-! .a .H
u fh a « 1 d 4J
1 ID 1 *i
e d ID 1 i fH 1 B
«o > m 41 fi. "O 1 1 o fH fi, 1 a
a « k< s g> o M 1 J o 1 d fi. o 1 o
«4 S (C 10 4J d o 1 1 *> 1 s O f4 «-!
e
1
4J « E E fi. •O O 1 a e 1 4>
a 4> E B CD O a «o 1 1 <M 1 a fi. > 1 d
o 3 e d kl
O V kl 0)
c o d
H k4
1 1 o 1
a o 1 49
< o 1 1 *i *> ^ 1 a
O > ID O IP 1 1 « 1 <M a 1 CD
O o o o a V.O ID o 49 E
>>
« a kl u
0) fi.
^ >> o
d B f4 ID
a
d d
1
1
1
1 3
1
1 o>
(D
k< «
1
1
3
O
*> B <-l B O (D 4J FH -4 B -a kl <M 49 O
CDs d d— t^ d kl kl 1
1
1
1 a>
1
1 d
:
,
-a
kl O «S O kl E 4J> .H a O D O 1 J 4J 1 » •H a
3 O d O O > •'4 VS'k) Vi
W •H b> 1 1 -H 1 4J V ID 1 k<
(0 a to T) 4J C 1 1 B 1 IM o 1 o
o d ^ o 0 3 0 0) o kl a> J 1 -H 1 O 1 o
o SS E N h. ae <M zVs U fi. .3 CO A 4> En
<
1 1 1 1
O O o o O 1 1 o 1 o 1 O
B
n 1 49
o 1 0
9 1 fH 1 <M9
H 1 9 1 O E
1 a 1 fi.
f4 1 a >>o
d
E
f
1
IB
fH
1
1
o
IS
1
1 CH
kl 1 o 1 kl 1 «o>
O 1 o 1 w 1 e e
b. 1 H 1 a. 1 JQ
- 15 -
4 MANAGING THE MAINTAINER
- 16 -
jump upward in the level of abstraction. If the affected module
is tightly coupled with other modules, additional jumps upward
are necessary. After identifying all of the modules implicated,
the analyst must move quickly to a lower level of abstration,
(i.e. the code) to begin modifications. Studies have shown
[CIRA 71] that the process of hopping from one level of
abstraction to another is error-prone and inefficient.
- 17 -
:
EXPERIENCED Application
Coding /Debugging
Testing
ABLE TO RELATE
TO USERS NEEDS
ABLE TO RELATE TO
OPERATIONAL
ENVIRONMENT
- 18 -
.
- 19 -
. ; .
- 20 -
. ; ;
- 21 -
form which could also be used for change requests may be found
in section seven of this report. The requestor should always
provide as much information as possible about the cause of the
problem or the nature of the change. This will not only assist
the maintainer in changing the software, and but will help
management better assess the cost of making the change.
- 22 -
TABLE 5.1-1 KEY INFORMATION ON SOFTWARE CHANGE REQUEST FORM
o Identification of Requestor
o Date of Request
0 Responsible People
o Schedule/Milestones
- 23 -
. .
- 24 -
.
- 25 -
-
I •+— — 4-
I I
«
I O I
I ^ c t>0 I
I E « a I
I 0) 4^ 'H I
I 4-> dfti I
I (fi OJ CO I
I >> O ffi I
I CO oH I
* < I
+ >
1 + + — + 1
1
1 1 1
1 1 a 1 + — +
1 1 "0 1 1
1 1 h 4> 1 B 1
O «0
+ — +
1
1
1
1
OS 'H
n p
«<
13
1
1
<p
Cfi
>»-p
a
^
1
1 -p 1 u m 1
£ a>
1
a> a 1 1 CO 1 1
1 1 1 9 H 1
1 + + •f CO 1
ts a 1
-f
ss
1 1
1 1
1
1
— — 1
4-
+
1 1 — > 1 > 4. 4.
1 1
+ 1 + — >
1
+
a
+ 4- 4- + — — — 4-
a a
E IS ««
a> >> a a a I
(4 d -H I
•H u » p-l B <ti 4^ a \
a p U ID I
&•< T) 4i D -H d I
0 O IS 10 u I
•O X 0) 10 H I
O H < I M
U —
I •I hi
4- 4- I o
I
I
«^
ID <M
4- — -f —— O
01
a + 4- »4 01
o S H
t>0 Cl<
"O *> a I •rt E
o d iH lb d
U 4>e
I
(0 •a -H T3 iH I M
o> o > ^ O H
U
I
01 E O (1
x
I
s) n E Q>O *>
U 0) -H 9
4> o
H 01 a
I
XIU o
(DUO
\
O O
a -H Q (4 43
I
M
M«
Cl. ti « I
O fl I
a e.d I
a I
4- 4- 1 1 e 1 1 1 I
1 1 0 a 1 1 0 1 1 0 4. +
1 1 -H 0 1 0 0
^ ^
1 1 1 1
1 r 1 43 1 1 1 1 ^fI
1 1 1 IS 4> 1 1 43 1 1 f
4- 4- 1 1 4> « 1 1 « 1 1 d
CI 0 1 1 e 0 d 0
W
1 1 1
^
1
0) TJ *> -H 4- 4-
WO <D
1 1
E vi
1 1
0 <H
1 1
d<M
<D
0
9 W 9
1 1
o-o
1
10^1
1 1 1
1 O-H
4:1 43 0> 1 1 1 1 1 1 Tl O
h ^
I
« OS iH 1 1 0 0 1 1 0 1 1 0
QX
I
9 E
o-H
(4 t>
a
1 1 1 1 X 1 1 X 0> 4> I
a> 1 1 1 1 1 > o o
K — — I
0? (0 <p
o: H u
a
«
1
1
1
1
1
1
1
1
SO
r4 -a
^
I
I
1 1 1 1 I
+ 4- 1 4- — 4- — +
4- 4- — 4- I
I I 4- — 4-
I T) I I I
I 43 0) I a » I 10 I
I
B) d cru
>>A 0) 0)
1 OV&< I
u a: ce
I I
I CO I D I
4. _ I
4
I
4-
- 26 -
.
- 27 -
)
1.0 Introduction
Purpose
Scope
Applicable Documents
2.0 System Description
Hardware (Application system Production Environment)
Software
Definitions /Glossary
3 0
. Management
Identification of User, Developer, Maintainer
Responsibilities
Interfaces
4.0 Procedures
System Change Requests /Problem Reports
Customer Assistance
Configuration Control
Quality Assurance
Testing /Acceptance Testing
Maintenance Cycles
5.0 Resources
Hardware ( Maintenance Environment
Support Software
Personnel (Assigned Responsibilities)
Facilities
Supplies
- 28 -
.
- 29 -
7 SOFTWARE MAINTENANCE TECHNIQUES
- 30 -
Analysis
- 31 -
TITLh
DATt „
AKiALYSTfS):
P*<00fUM ID:
Coaputltlanal
11(1 US MMtlM subscript •rrpn lts1<«« taft
cr9iMnt list inemtlttcftclM »i r uwous
•ivltiwi Itr t»««
Mel9iious itatanMt tfFiinitlallXffd ««n«b)t wnmt ««()u»nct
•rrwicout ealeuUtlon
i^NwcMMry wicylttiw eats ltr«tftur» trrori
1a*« sesllitfl/prBClllon trrof^
Tastar
l»i»ufflel»«
METHOD OF DFTECTION:
DESCRIPTION OF PROBLEM:
EFFECTS OF PROBLEM:
RECOMMENDED SOLUTION:
- 32 -
7.1.1 Forms -
- 33 -
interaction is that design errors are often discovered by other
team members.
- 34 -
:
STRUCTURE
DOCUMEKTATION / COMMEKTS
DATA
INTERFACES
ERROR HANDLING
CONSISTENCY/COMPLETENESS
- 35 -
Figure 7.3-1 Flow of Systea Proijlem Reports eiad Change RequeBxs
Tlirougii Configuration Management
- 36 -
:
- 37 -
. ,
While there are many software tools that support the test
process, many maintenance programmers develop their own tools to
assist in debugging and testing code. It is recommended that a
standard set of tools be used in the test process. Tools to be
considered range from test data generators, to test database
management systems, to code instrumentors/execution analyzers.
The following NBS publications provide additional information in
the areas addressed in this section: [FIPS106] , NBS106]
[FIPSlOl], [NBS98], and [NBS93]
- 38 -
.
8 . 1 Types Of Tools
- 39 -
attempting to analyze how to modify a system and wliat impact a
change will have.
- 40 -
.
8.1.8 Structuring/restructuring -
8.1.10 Simulation/emulation -
- 41 -
case, a simulator or emulator allows testing to be done on the
maintenance facility prior to fielding the new version.
- 42 -
TABLE 8.1-1 TOOL TYPES
TOOL TYPES 1 FUNCTION CATEGORIES IN NBS SPECIAL PUBLICATION 500-88 [ HOTJG 82]
Code Instrumentation/ coverage analysis, tracing, tuning, symbolic execution, assertion cheokin
Ezeoutlon Analysis debugging support
Optlnlzers optimization
- 43 -
8.2 An Integrated Maintenance Environment
- 44 -
.
- 45 -
.
9 . 1 Redesign Guidance
- 46 -
.
- 47 -
execution without failure;
100% coverage of all decision paths; and
100% coverage of all interfaces.
- 48 -
. . .
- 49 -
TABLE 10.1-1 COMMON MISTAKES AND PITFALLS
- 50 -
. .
- 51 -
11 PERFORMANCE GOALS OF SOFTWARE MAINTENANCE MANAGEMENT
o User satisfaction
0 Productivity improvement
- 52 -
. .
11.4 Productivity
- 53 -
:
- 54 -
. .
- 55 -
TABLE 12.1-1 IMPROVING THE MAINTAINABILITY OF SOFTWARE
n nnonTTiPTil".
\J \^ KJLJAl^^ XX \J npsi
O
^-J _i_ tfn
tl XJ. anrt
Uj XX \^ Ttrinl PTtiPntati
XX
_L XL L yj _X \^ XI I nn
\JXX \Jij \J
;
' 0 Save Test Data
- 56 -
. . . . . . .
Phases Activity
- 57 -
. .
- 58 -
13 REFERENCES
- 59 -
[GELP79] Gelperin, D. "Testing Maintainability," AQM
,
- 60 -
[RADC82] RADC DACS Newsletter, June 1982.
[TEIK77] Teichroew, D. ,
Hershey, E., "PSL/PSA: A
Computer-aided Teclinique for Structured Documentation
and Analysis of Information Processing Systems," IEEE
TranaQtiQns Qu ^Qft'^SiTQ. Engineering, vol 3, 1977.
- 61 -
)
5. AUTHOR(S)
James A. McCall, Mary A. Herndon, Wilma M. Osborne
6. PERFORMING ORGANIZATION (If joint or other tttan NBS. see /n struct/on s; 7. Contract/Grant No.
Same as item 6.
10. SUPPLEMENTARY NOTES
12. KEY WORDS (Six to twelve entries; alphabetical order; capitalize only proper names; and separate key words by semicolons)
cost control measures; decision aids, lifecycle management plan; performance criteria
regression testing; software maintenance; software quality; software techniques; soft-
ware tools; test plans; software quality
13. AVAILABILITY 14. NO. OF
PRINTED PAGES
[~Xl Unlimited
For Official Distribution. Do Not Release to NTIS 65
I I
[x] Order From Superintendent of Documents, U.S. Government Printing Office, Washington, D.C.
20402. 15. Price
Order From National Technical Information Service (NTIS), Springfield, VA. 22161
USCOMM-DC 6043-P80
ANNOUNCEMENT OF NEW PUBLICATIONS ON
COMPUTER SCIENCE & TECHNOLOGY
Superintendent of Documents,
Government Printing Office,
Washington, DC 20402
Dear Sir:
Please add my name to the announcement list of new publications to be issued m the
series: National Bureau of Standards Special Publication 500-
Namc
Company
Addresa
Periodical
Journal of Research —
The Journal of Research of the National Bureau of Standards reports NBS research
and development in those disciplines of the physical and engineering sciences in which the Bureau is active.
These include physics, chemistry, engineering, mathematics, and computer sciences. Papers cover a broad
range of subjects, with major emphasis on measurement methodology and the basic technology underlying
standardization. Also included from time to time are survey articles on topics closely related to the Bureau's
technical and scientific programs. Issued six times a year.
Nonperiodicals
—
Monographs Major contributions to the technical on various subjects
literature the Bureau's
related to scien-
and technical activities.
tific
Handbooks— Recommended codes of engineering and practice (including safety codes) developed
industrial in
cooperation with professional organizations, and regulatory bodies.
interested industries,
Special Publications— Include proceedings of conferences sponsored by NBS, NBS annual and other reports,
specialpublications appropriate to grouping such as wall
this pocket cards, and bibliographies.
charts,
Technical Notes —
Studies or reports which are complete in themselves but restrictive in their treatment of a
subject.Analogous to monographs but not so comprehensive in scope or definitive in treatment of the subject
area. Often serve as a vehicle for final reports of work f)erformed at NBS under the sponsorship of other
government agencies.
—
Voluntary Product Standards Developed under procedures published by the Department of Commerce in
Part 10, Title 15, of the Code of Federal Regulations. The standards establish nationally recognized re-
quirements for products, and provide all concerned interests with a basis for common understanding of the
characteristics of the products. NBS administers this program as a supplement to the activities of the private
sector standardizing organizations.
Official Business
Penalty for Private Use $300