You are on page 1of 16

IEEE TRANSACTIONS ON COMPUTERS, VOL. C- 2 5 , NO.

1 2 , DECEMBER 1 9 7 6
So f t w a r e En g i n e e r i n g
BARRY W. BOEHM
Ab s t r a c t - Th i s p a p e r p r o v i d e s a d e f i n i t i o n o f t h e t e r m " s o f t w a r e
e n g i n e e r i n g " a n d a s u r v e y o f t h e c u r r e n t s t a t e o f t h e a r t a n d l i k e l y
f u t u r e t r e n d s i n t h e f i e l d . Th e s u r v e y c o v e r s t h e t e c h n o l o g y a v a i l -
a b l e i n t h e v a r i o u s p h a s e s o f t h e s o f t w a r e l i f e c y c l e - r e q u i r e m e n t s
e n g i n e e r i n g , d e s i g n , c o d i n g , t e s t , a n d m a i n t e n a n c e - a n d i n t h e
o v e r a l l a r e a o f s o f t w a r e m a n a g e m e n t a n d i n t e g r a t e d t e c h n o l o g y -
m a n a g e m e n t a p p r o a c h e s . It i s o r i e n t e d p r i m a r i l y t o w a r d d i s c u s s i n g
t h e d o m a i n o f a p p l i c a b i l i t y o f t e c h n i q u e s ( w h e r e a n d w h e n t h e y
w o r k ) , r a t h e r t h a n h o w t h e y w o r k i n d e t a i l . To c o v e r t h e l a t t e r , a n
e x t e n s i v e s e t o f 1 0 4 r e f e r e n c e s i s p r o v i d e d .
In d e x Te r m s - Co m p u t e r s o f t w a r e , d a t a s y s t e m s , i n f o r m a t i o n
s y s t e m s , r e s e a r c h a n d d e v e l o p m e n t , s o f t w a r e d e v e l o p m e n t , s o f t -
w a r e e n g i n e e r i n g , s o f t w a r e m a n a g e m e n t .
I. INTRODUCTION
r HE a n n u a l c o s t o f s o f t w a r e i n t h e U.S. i s
a p p r o x i m a t e l y 2 0 b i l l i o n d o l l a r s . It s r a t e o f g r o w t h i s
c o n s i d e r a b l y g r e a t e r t h a n t h a t o f t h e e c o n o m y i n g e n e r a l .
Co m p a r e d t o t h e c o s t o f c o m p u t e r h a r d w a r e , t h e c o s t o f
s o f t w a r e i s c o n t i n u i n g t o e s c a l a t e a l o n g t h e l i n e s p r e d i c t e d
i n F i g . 1 [ 1 ] .1 A r e c e n t SHARE s t u d y [ 2 ] i n d i c a t e s f u r t h e r
t h a t s o f t w a r e d e m a n d o v e r t h e y e a r s 1 9 7 5 - 1 9 8 5 w i l l g r o w
c o n s i d e r a b l y f a s t e r ( a b o u t 2 1 - 2 3 p e r c e n t p e r y e a r ) t h a n
t h e g r o w t h r a t e i n s o f t w a r e s u p p l y a t c u r r e n t e s t i m a t e d
g r o w t h r a t e s o f t h e s o f t w a r e l a b o r f o r c e a n d i t s p r o d u c t i v i t y
p e r i n d i v i d u a l , w h i c h p r o d u c e a c o m b i n e d g r o w t h r a t e o f
a b o u t 1 1 .5 - 1 7 p e r c e n t p e r y e a r o v e r t h e y e a r s 1 9 7 5 -
1 9 8 5 .
In a d d i t i o n , a s w e c o n t i n u e t o a u t o m a t e m a n y o f t h e
p r o c e s s e s w h i c h c o n t r o l o u r l i f e - s t y l e - o u r m e d i c a l
e q u i p m e n t , a i r t r a f f i c c o n t r o l , d e f e n s e s y s t e m , p e r s o n a l
r e c o r d s , b a n k a c c o u n t s - w e c o n t i n u e t o t r u s t m o r e a n d
m o r e i n t h e r e l i a b l e f u n c t i o n i n g o f t h i s p r o l i f e r a t i n g m a s s
o f s o f t w a r e . So f t w a r e e n g i n e e r i n g i s t h e m e a n s b y w h i c h
w e a t t e m p t t o p r o d u c e a l l o f t h i s s o f t w a r e i n a w a y t h a t i s
b o t h c o s t - e f f e c t i v e a n d r e l i a b l e e n o u g h t o d e s e r v e o u r t r u s t .
Cl e a r l y , i t i s a d i s c i p l i n e w h i c h i s i m p o r t a n t t o e s t a b l i s h
w e l l a n d t o p e r f o r m w e l l .
Th i s p a p e r w i l l b e g i n w i t h a d e f i n i t i o n o f " s o f t w a r e e n -
g i n e e r i n g ." It w i l l t h e n s u r v e y t h e c u r r e n t s t a t e o f t h e a r t
o f t h e d i s c i p l i n e , a n d c o n c l u d e w i t h a n a s s e s s m e n t o f l i k e l y
f u t u r e t r e n d s .
II. DEF INITIONS
Le t u s b e g i n b y d e f i n i n g " s o f t w a r e e n g i n e e r i n g ." We w i l l
d e f i n e s o f t w a r e t o i n c l u d e n o t o n l y c o m p u t e r p r o g r a m s ,
Ma n u s c r i p t r e c e i v e d J u n e 2 4 , 1 9 7 6 ; r e v i s e d Au g u s t 1 6 , 1 9 7 6 .
Th e a u t h o r i s w i t h t h e TRW Sy s t e m s a n d En e r g y G r o u p , Re d o n d o
Be a c h , CA 9 0 2 7 8 .
1
An o t h e r t r e n d h a s b e e n a d d e d t o F i g . 1 : t h e g r o w t h o f s o f t w a r e
m a i n t e n a n c e , w h i c h w i l l b e d i s c u s s e d l a t e r .
b u t a l s o t h e a s s o c i a t e d d o c u m e n t a t i o n r e q u i r e d t o - d e v e l o p ,
o p e r a t e , a n d m a i n t a i n t h e p r o g r a m s . By d e f i n i n g s o f t w a r e
i n t h i s b r o a d e r s e n s e , w e w i s h t o e m p h a s i z e t h e n e c e s s i t y
o f c o n s i d e r i n g t h e g e n e r a t i o n o f t i m e l y d o c u m e n t a t i o n a s
a n i n t e g r a l p o r t i o n o f t h e s o f t w a r e d e v e l o p m e n t p r o c e s s .
We c a n t h e n c o m b i n e t h i s w i t h a d e f i n i t i o n o f " e n g i n e e r -
i n g " t o p r o d u c e t h e f o l l o w i n g d e f i n i t i o n .
So f t w a r e En g i n e e r i n g : Th e p r a c t i c a l a p p l i c a t i o n o f
s c i e n t i f i c k n o w l e d g e i n t h e d e s i g n a n d c o n s t r u c t i o n o f
c o m p u t e r p r o g r a m s a n d t h e a s s o c i a t e d d o c u m e n t a t i o n
r e q u i r e d t o d e v e l o p , o p e r a t e , a n d m a i n t a i n t h e m .
Th r e e m a i n p o i n t s s h o u l d b e m a d e a b o u t t h i s d e f i n i t i o n .
Th e f i r s t c o n c e r n s t h e n e c e s s i t y o f c o n s i d e r i n g a b r o a d
e n o u g h i n t e r p r e t a t i o n o f t h e w o r d " d e s i g n " t o c o v e r t h e
e x t r e m e l y i m p o r t a n t a c t i v i t y o f s o f t w a r e r e q u i r e m e n t s
e n g i n e e r i n g . Th e s e c o n d p o i n t i s t h a t t h e d e f i n i t i o n s h o u l d
c o v e r t h e e n t i r e s o f t w a r e l i f e c y c l e , t h u s i n c l u d i n g t h o s e
a c t i v i t i e s o f r e d e s i g n a n d m o d i f i c a t i o n o f t e n t e r m e d
" s o f t w a r e m a i n t e n a n c e ." ( F i g . 2 i n d i c a t e s t h e o v e r a l l s e t
o f a c t i v i t i e s t h u s e n c o m p a s s e d i n t h e d e f i n i t i o n .) Th e f i n a l
p o i n t i s t h a t o u r s t o r e o f k n o w l e d g e a b o u t s o f t w a r e w h i c h
c a n r e a l l y b e c a l l e d " s c i e n t i f i c k n o w l e d g e " i s a r a t h e r s m a l l
b a s e u p o n w h i c h t o b u i l d a n e n g i n e e r i n g d i s c i p l i n e . Bu t ,
o f c o u r s e , t h a t i s w h a t m a k e s s o f t w a r e e n g i n e e r i n g s u c h a
f a s c i n a t i n g c h a l l e n g e a t t h i s t i m e .
Th e r e m a i n d e r o f t h i s p a p e r w i l l d i s c u s s t h e s t a t e o f t h e
a r t o f s o f t w a r e e n g i n e e r i n g a l o n g t h e l i n e s o f t h e s o f t w a r e
l i f e c y c l e d e p i c t e d i n F i g . 2 . Se c t i o n III c o n t a i n s a d i s c u s -
s i o n o f s o f t w a r e r e q u i r e m e n t s e n g i n e e r i n g , w i t h s o m e
m e n t i o n o f t h e p r o b l e m o f d e t e r m i n i n g o v e r a l l s y s t e m
r e q u i r e m e n t s . Se c t i o n IV d i s c u s s e s b o t h p r e l i m i n a r y d e -
s i g n a n d d e t a i l e d d e s i g n t e c h n o l o g y t r e n d s . Se c t i o n V
c o n t a i n s o n l y a b r i e f d i s c u s s i o n o f p r o g r a m m i n g , a s t h i s
t o p i c i s a l s o c o v e r e d i n a c o m p a n i o n a r t i c l e i n t h i s i s s u e [ 3 ] .
Se c t i o n VI c o v e r s b o t h s o f t w a r e t e s t i n g a n d t h e o v e r a l l l i f e
c y c l e c o n c e r n w i t h s o f t w a r e r e l i a b i l i t y . Se c t i o n VII d i s -
c u s s e s t h e h i g h l y i m p o r t a n t b u t l a r g e l y n e g l e c t e d a r e a o f
s o f t w a r e m a i n t e n a n c e . Se c t i o n VIII s u r v e y s s o f t w a r e
m a n a g e m e n t c o n c e p t s a n d t e c h n i q u e s , a n d d i s c u s s e s t h e
s t a t u s a n d t r e n d s o f i n t e g r a t e d t e c h n o l o g y - m a n a g e m e n t
a p p r o a c h e s t o s o f t w a r e d e v e l o p m e n t . F i n a l l y , Se c t i o n IX
c o n c l u d e s w i t h a n a s s e s s m e n t o f t h e c u r r e n t s t a t e o f t h e
a r t o f s o f t w a r e e n g i n e e r i n g w i t h r e s p e c t t o t h e d e f i n i t i o n
a b o v e .
Ea c h s e c t i o n ( s o m e t i m e s a f t e r a n i n t r o d u c t i o n ) c o n t a i n s
a s h o r t s u m m a r y o f c u r r e n t p r a c t i c e i n t h e a r e a , f o l l o w e d
b y a s u r v e y o f c u r r e n t f r o n t i e r t e c h n o l o g y , a n d c o n c l u d i n g
w i t h a s h o r t s u m m a r y o f l i k e l y t r e n d s i n t h e a r e a . Th e
s u r v e y i s o r i e n t e d p r i m a r i l y t o w a r d d i s c u s s i n g t h e d o m a i n
o f a p p l i c a b i l i t y o f t e c h n i q u e s ( w h e r e a n d w h e n t h e y w o r k )
1 2 2 6
BOEHM: SOF TWARE ENG INEERING
F i g . 1 . Ha r d w a r e - s o f t w a r e c o s t t r e n d s .
F i g . 2 . So f t w a r e l i f e c y c l e .
r a t h e r t h a n h o w t h e y w o r k i n d e t a i l . An e x t e n s i v e s e t o f
r e f e r e n c e s i s p r o v i d e d f o r r e a d e r s w i s h i n g t o p u r s u e t h e
l a t t e r .
III. SOF TWARE REQUIREMENTS ENG INEERING
A. Cr i t i c a l Na t u r e o f So f t w a r e Re q u i r e m e n t s
En g i n e e r i n g
So f t w a r e r e q u i r e m e n t s e n g i n e e r i n g i s t h e d i s c i p l i n e f o r
d e v e l o p i n g a c o m p l e t e , c o n s i s t e n t , u n a m b i g u o u s s p e c i f i -
c a t i o n - w h i c h c a n s e r v e a s a b a s i s f o r c o m m o n a g r e e m e n t
a m o n g a l l p a r t i e s c o n c e r n e d - d e s c r i b i n g w h a t t h e s o f t -
w a r e p r o d u c t w i l l d o ( b u t n o t h o w i t w i l l d o i t ; t h i s i s t o b e
d o n e i n t h e d e s i g n s p e c i f i c a t i o n ) .
Th e e x t r e m e i m p o r t a n c e o f s u c h a s p e c i f i c a t i o n i s o n l y
n o w b e c o m i n g g e n e r a l l y r e c o g n i z e d . It s i m p o r t a n c e d e r i v e s
f r o m t w o m a i n c h a r a c t e r i s t i c s : 1 ) i t i s e a s y t o d e l a y o r a v o i d
d o i n g t h o r o u g h l y ; a n d 2 ) d e f i c i e n c i e s i n i t a r e v e r y d i f f i c u l t
a n d e x p e n s i v e t o c o r r e c t l a t e r .
F i g . 3 s h o w s a s u m m a r y o f c u r r e n t e x p e r i e n c e a t IBM
[ 4 ] ,
G TE
[ 5 ] ,
a n d TRW o n t h e r e l a t i v e c o s t o f
c o r r e c t i n g
s o f t w a r e e r r o r s a s a f u n c t i o n o f t h e p h a s e i n w h i c h t h e y a r e
c o r r e c t e d . Cl e a r l y , i t p a y s o f f t o i n v e s t e f f o r t i n f i n d i n g
r e q u i r e m e n t s e r r o r s e a r l y a n d c o r r e c t i n g t h e m i n , s a y , 1
m a n - h o u r r a t h e r t h a n w a i t i n g t o f i n d t h e e r r o r d u r i n g
o p e r a t i o n s a n d h a v i n g t o s p e n d 1 0 0 m a n - h o u r s c o r r e c t i n g
i t .
Be s i d e s t h e c o s t - t o - f i x p r o b l e m s , t h e r e a r e o t h e r c r i t i c a l
p r o b l e m s s t e m m i n g f r o m a l a c k o f a g o o d r e q u i r e m e n t s
s p e c i f i c a t i o n . Th e s e i n c l u d e [ 6 ] : 1 ) t o p - d o w n d e s i g n i n g i s
i m p o s s i b l e , f o r l a c k o f a w e l l - s p e c i f i e d " t o p " ; 2 ) t e s t i n g i s
i m p o s s i b l e , b e c a u s e t h e r e i s n o t h i n g t o t e s t a g a i n s t ; 3 ) t h e
u s e r i s f r o z e n o u t , b e c a u s e t h e r e i s n o c l e a r s t a t e m e n t o f
w h a t i s b e i n g p r o d u c e d f o r h i m ; a n d 4 ) m a n a g e m e n t i s n o t
i n c o n t r o l , a s t h e r e i s n o c l e a r s t a t e m e n t o f w h a t t h e p r o j e c t
t e a m i s p r o d u c i n g .
B. Cu r r e n t Pr a c t i c e
Cu r r e n t l y , s o f t w a r e r e q u i r e m e n t s s p e c i f i c a t i o n s ( w h e n
t h e y e x i s t a t a l l ) a r e g e n e r a l l y e x p r e s s e d i n f r e e - f o r m En -
g l i s h . Th e y a b o u n d w i t h a m b i g u o u s t e r m s ( " s u i t a b l e ,"
1 2 2 7
IEEE TRANSACTIONS ON COMPUTERS, DECEMBER 1 9 7 6
RELATIVE
COST
TO
F IX
ERROR 2
0 .5
-
0 .2
0 . 1
REQUIREMENTS DESIG N CO
PHASE IN WI
F i g . 3 . So f t w a r e v a l i d a t i o r
" s u f f i c i e n t ," " r e a l - t i m e ," " f l e x i b l e " ) o r p r e c i s e - s o u n d i n g
t e r m s w i t h u n s p e c i f i e d d e f i n i t i o n s ( " o p t i m u m ," " 9 9 .9
p e r c e n t r e l i a b l e " ) w h i c h a r e p o t e n t i a l s e e d s o f d i s s e n s i o n
o r l a w s u i t s o n c e t h e s o f t w a r e i s p r o d u c e d . Th e y h a v e n u -
m e r o u s e r r o r s ; o n e r e c e n t s t u d y [ 7 ] i n d i c a t e d t h a t t h e f i r s t
i n d e p e n d e n t r e v i e w o f a f a i r l y g o o d s o f t w a r e r e q u i r e m e n t s
s p e c i f i c a t i o n w i l l f i n d f r o m o n e t o f o u r n o n t r i v i a l e r r o r s p e r
p a g e .
Th e t e c h n i q u e s u s e d f o r d e t e r m i n i n g s o f t w a r e r e -
q u i r e m e n t s a r e g e n e r a l l y a n a d h o c m a n u a l b l e n d o f s y s -
t e m s a n a l y s i s p r i n c i p l e s [ 8 ] a n d c o m m o n s e n s e . ( Th e s e a r e
t h e g o o d o n e s ; t h e p o o r o n e s a r e b a s e d o n a d h o c m a n u a l
b l e n d s o f p o l i t i c s , p r e c o n c e p t i o n s , a n d p u r e s a l e s m a n s h i p .)
So m e f o r m a l i z e d m a n u a l t e c h n i q u e s h a v e b e e n u s e d s u c -
c e s s f u l l y f o r d e t e r m i n i n g b u s i n e s s s y s t e m r e q u i r e m e n t s ,
s u c h a s a c c u r a t e l y d e f i n e d s y s t e m s ( ADS) , a n d t i m e a u -
t o m a t e d g r i d ( TAG ) . Th e b o o k e d i t e d b y Co u g e r a n d
K n a p p [ 9 ] h a s a n e x c e l l e n t s u m m a r y o f s u c h t e c h n i q u e s .
C. Cu r r e n t F r o n t i e r Te c h n o l o g y : Sp e c i f i c a t i o n
La n g u a g e s a n d Sy s t e m s
1 ) ISDOS: Th e p i o n e e r s y s t e m f o r m a c h i n e - a n a l y z a b l e
s o f t w a r e r e q u i r e m e n t s i s t h e ISDOS s y s t e m d e v e l o p e d b y
Te i c h r o e w a n d h i s g r o u p a t t h e Un i v e r s i t y o f Mi c h i g a n
[ 1 0 ] . It w a s p r i m a r i l y d e v e l o p e d f o r b u s i n e s s s y s t e m a p -
p l i c a t i o n s , b u t m u c h o f t h e s y s t e m a n d i t s c o n c e p t s a r e
a p p l i c a b l e t o o t h e r a r e a s . It i s t h e o n l y s y s t e m t o h a v e
p a s s e d a m a r k e t a n d o p e r a t i o n s t e s t ; s e v e r a l c o m m e r c i a l ,
DE DEVELOPMENT ACCEPTANCE OPERATION
TEST TEST
HICH ERROR DETECTED
n : t h e p r i c e o f p r o c r a s t i n a t i o n .
a e r o s p a c e , a n d g o v e r n m e n t o r g a n i z a t i o n s h a v e p a i d f o r i t
a n d a r e s u c c e s s f u l l y u s i n g i t . Th e U.S. Ai r F o r c e i s c u r -
r e n t l y u s i n g a n d s p o n s o r i n g e x t e n s i o n s t o ISDOS u n d e r
t h e Co m p u t e r Ai d e d Re q u i r e m e n t s An a l y s i s ( CARA)
p r o g r a m .
ISDOS b a s i c a l l y c o n s i s t s o f a p r o b l e m s t a t e m e n t l a n -
g u a g e ( PSL) a n d a p r o b l e m s t a t e m e n t a n a l y z e r ( PSA) .
PSL a l l o w s t h e a n a l y s t t o s p e c i f y h i s s y s t e m i n t e r m s o f
f o r m a l i z e d e n t i t i e s ( INPUTS, OUTPUTS, REAL WORLD
ENTITIES) , c l a s s e s ( SETS, G ROUPS) , r e l a t i o n s h i p s ( USES,
UPDATES, G ENERATES) , a n d o t h e r i n f o r m a t i o n o n t i m i n g ,
d a t a v o l u m e , s y n o n y m s , a t t r i b u t e s , e t c . PSA o p e r a t e s o n
t h e PSL s t a t e m e n t s t o p r o d u c e a n u m b e r o f u s e f u l s u m -
m a r i e s , s u c h a s : f o r m a t e d p r o b l e m s t a t e m e n t s ; d i r e c t o r i e s
a n d k e y w o r d i n d i c e s ; h i e r a r c h i c a l s t r u c t u r e r e p o r t s ;
g r a p h i c a l s u m m a r i e s o f f l o w s a n d r e l a t i o n s h i p s ; a n d s t a -
t i s t i c a l s u m m a r i e s . So m e o f t h e s e c a p a b i l i t i e s a r e a c t u a l l y
m o r e s u i t e d t o s u p p o r t i n g s y s t e m d e s i g n a c t i v i t i e s ; t h i s i s
o f t e n t h e m o d e i n w h i c h ISDOS i s u s e d .
Ma n y o f t h e c u r r e n t l i m i t a t i o n s o f ISDOS s t e m f r o m i t s
p r i m a r y o r i e n t a t i o n t o w a r d b u s i n e s s s y s t e m s . It i s c u r -
r e n t l y d i f f i c u l t t o e x p r e s s r e a l - t i m e p e r f o r m a n c e r e q u i r e -
m e n t s a n d m a n - m a c h i n e i n t e r a c t i o n r e q u i r e m e n t s , f o r
e x a m p l e . Ot h e r c a p a b i l i t i e s a r e c u r r e n t l y m i s s i n g , s u c h a s
s u p p o r t f o r c o n f i g u r a t i o n c o n t r o l , t r a c e a b i l i t y t o d e s i g n
a n d c o d e , d e t a i l e d c o n s i s t e n c y c h e c k i n g , a n d a u t o m a t i c
s i m u l a t i o n g e n e r a t i o n . Ot h e r l i m i t a t i o n s r e f l e c t d e l i b e r a t e ,
s e n s i b l e d e s i g n c h o i c e s : t h e o u t p u t g r a p h i c s a r e c r u d e , b u t
t h e y a r e p r o d u c e d i n s t a n d a r d 8 Y x 1 1 i n s i z e o n a n y
1 2 2 8
BOEHM: SOF TWARE ENG INEERING
s t a n d a r d l i n e p r i n t e r . Mu c h o f t h e c u r r e n t w o r k o n
ISDOS/CARA i s o r i e n t e d t o w a r d r e m e d y i n g s u c h l i m i t a -
t i o n s , a n d e x t e n d i n g t h e s y s t e m t o f u r t h e r s u p p o r t s o f t -
w a r e d e s i g n .
2 ) SREP: Th e m o s t e x t e n s i v e a n d p o w e r f u l s y s t e m f o r
s o f t w a r e r e q u i r e m e n t s s p e c i f i c a t i o n i n e v i d e n c e t o d a y i s
t h a t b e i n g d e v e l o p e d u n d e r t h e So f t w a r e Re q u i r e m e n t s
En g i n e e r i n g Pr o g r a m ( SREP) b y TRW f o r t h e U.S. Ar m y
Ba l l i s t i c Mi s s i l e De f e n s e Ad v a n c e d Te c h n o l o g y Ce n t e r
( BMDATC) [ 1 1 ] - [ 1 3 ] . Po r t i o n s o f t h i s e f f o r t a r e d e r i v a t i v e
o f ISDOS; i t u s e s t h e ISDOS d a t a m a n a g e m e n t s y s t e m ,
a n d i s p r i m a r i l y o r g a n i z e d i n t o a l a n g u a g e , t h e r e q u i r e -
m e n t s s t a t e m e n t l a n g u a g e ( RSL) , a n d a n a n a l y z e r , t h e
r e q u i r e m e n t s e v a l u a t i o n a n d v a l i d a t i o n s y s t e m ( REVS) .
SREP c o n t a i n s a n u m b e r o f e x t e n s i o n s a n d i n n o v a t i o n s
w h i c h a r e n e e d e d f o r r e q u i r e m e n t s e n g i n e e r i n g i n r e a l - t i m e
s o f t w a r e d e v e l o p m e n t p r o j e c t s . In o r d e r t o r e p r e s e n t
r e a l - t i m e p e r f o r m a n c e r e q u i r e m e n t s , t h e i n d i v i d u a l
f u n c t i o n a l r e q u i r e m e n t s c a n b e j o i n e d i n t o s t i m u l u s - r e -
s p o n s e n e t w o r k s c a l l e d R- Ne t s . In o r d e r t o f o c u s e a r l y
a t t e n t i o n o n s o f t w a r e t e s t i n g a n d r e l i a b i l i t y , t h e r e a r e
c a p a b i l i t i e s f o r d e s i g n a t i n g " v a l i d a t i o n p o i n t s " w i t h i n t h e
R- Ne t s . F o r e a r l y r e q u i r e m e n t s v a l i d a t i o n , t h e r e a r e
c a p a b i l i t i e s f o r a u t o m a t i c g e n e r a t i o n o f f u n c t i o n a l s i m u -
l a t o r s f r o m t h e r e q u i r e m e n t s s t a t e m e n t s . An d , f o r a d a p -
t a t i o n t o c h a n g i n g r e q u i r e m e n t s , t h e r e a r e c a p a b i l i t i e s f o r
c o n f i g u r a t i o n c o n t r o l , t r a c e a b i l i t y t o d e s i g n , a n d e x t e n s i v e
r e p o r t g e n e r a t i o n a n d c o n s i s t e n c y c h e c k i n g .
Cu r r e n t SREP l i m i t a t i o n s a g a i n m o s t l y r e f l e c t d e l i b -
e r a t e d e s i g n d e c i s i o n s c e n t e r e d a r o u n d t h e a u t o n o m o u s ,
h i g h l y r e a l - t i m e p r o c e s s - c o n t r o l p r o b l e m o f b a l l i s t i c m i s s i l e
d e f e n s e . Ca p a b i l i t i e s t o r e p r e s e n t l a r g e f i l e p r o c e s s i n g a n d
m a n - m a c h i n e i n t e r a c t i o n s a r e m i s s i n g . Po r t a b i l i t y i s a
p r o b l e m : a l t h o u g h s o m e p a r t s r u n o n s e v e r a l m a c h i n e s ,
o t h e r p a r t s o f t h e s y s t e m r u n o n l y o n a TI- ASC c o m p u t e r
w i t h a v e r y p o w e r f u l b u t e x p e n s i v e m u l t i c o l o r i n t e r a c t i v e
g r a p h i c s t e r m i n a l . Ho w e v e r , t h e s y s t e m h a s b e e n d e s i g n e d
w i t h t h e u s e o f c o m p i l e r g e n e r a t o r s a n d e x t e n s i b i l i t y f e a -
t u r e s w h i c h s h o u l d a l l o w t h e s e l i m i t a t i o n s t o b e r e m -
e d i e d .
3 ) Au t o m a t i c Pr o g r a m m i n g a n d Ot h e r Ap p r o a c h e s :
Un d e r t h e s p o n s o r s h i p o f t h e De f e n s e Ad v a n c e d Re s e a r c h
Pr o j e c t s Ag e n c y ( DARPA) , s e v e r a l r e s e a r c h e r s a r e a t -
t e m p t i n g t o d e v e l o p " a u t o m a t i c p r o g r a m m i n g " s y s t e m s
t o r e p l a c e t h e f u n c t i o n s o f c u r r e n t l y p e r f o r m e d b y p r o -
g r a m m e r s . If s u c c e s s f u l , c o u l d t h e y d r i v e s o f t w a r e c o s t s
d o w n t o z e r o ? Cl e a r l y n o t , b e c a u s e t h e r e w o u l d s t i l l b e t h e
n e e d t o d e t e r m i n e w h a t s o f t w a r e t h e s y s t e m s h o u l d p r o -
d u c e , i .e ., t h e s o f t w a r e r e q u i r e m e n t s . Th u s , t h e m e t h o d s ,
o r a t l e a s t t h e f o r m s , o f c a p t u r i n g s o f t w a r e r e q u i r e m e n t s
a r e o f c e n t r a l c o n c e r n i n a u t o m a t i c p r o g r a m m i n g r e -
s e a r c h .
Tw o m a i n d i r e c t i o n s a r e b e i n g t a k e n i n t h i s r e s e a r c h .
On e , e x e m p l i f i e d b y t h e w o r k o f Ba l z e r a t USC- ISI [ 1 4 ] ,
i s t o w o r k w i t h i n a g e n e r a l p r o b l e m c o n t e x t , r e l y i n g o n o n l y
g e n e r a l r u l e s o f i n f o r m a t i o n p r o c e s s i n g ( i t e m s m u s t b e
d e f i n e d o r r e c e i v e d b e f o r e t h e y a r e u s e d , a n " i f ' s h o u l d
h a v e b o t h a " t h e n " a n d a n " e l s e ," e t c .) t o r e s o l v e a m -
b i g u i t i e s , d e f i c i e n c i e s , o r i n c o n s i s t e n c i e s i n t h e p r o b l e m
s t a t e m e n t . Th i s a p p r o a c h e n c o u n t e r s f o r m i d a b l e p r o b l e m s
i n n a t u r a l l a n g u a g e p r o c e s s i n g a n d m a y r e q u i r e f u r t h e r
r e s t r i c t i o n s t o m a k e i t t r a c t a b l e .
Th e o t h e r d i r e c t i o n , e x e m p l i f i e d b y t h e w o r k o f Ma r t i n
a t MIT [ 1 5 ] , i s t o w o r k w i t h i n a p a r t i c u l a r p r o b l e m a r e a ,
s u c h a s i n v e n t o r y c o n t r o l , w h e r e t h e r e i s e n o u g h o f a g e n -
e r a l m o d e l o f s o f t w a r e r e q u i r e m e n t s a n d a c c e p t a b l e t e r -
m i n o l o g y t o m a k e t h e p r o b l e m s o f r e s o l v i n g a m b i g u i t i e s ,
d e f i c i e n c i e s , a n d i n c o n s i s t e n c i e s r e a s o n a b l y t r a c t a b l e .
Th i s s e c o n d a p p r o a c h h a s , o f c o u r s e , b e e n u s e d i n t h e
p a s t i n v a r i o u s f o r m s o f " p r o g r a m m i n g - b y - q u e s t i o n -
n a i r e " a n d a p p l i c a t i o n g e n e r a t o r s [ 1 ] , [ 2 ] . Pe r h a p s t h e m o s t
w i d e l y u s e d a r e t h e p a r a m e t e r i z e d a p p l i c a t i o n g e n e r a t o r s
d e v e l o p e d f o r u s e o n t h e IBM Sy s t e m /3 . IBM h a s s o m e
m o r e a m b i t i o u s e f f o r t s o n r e q u i r e m e n t s s p e c i f i c a t i o n
u n d e r w a y , n o t a b l y o n e c a l l e d t h e Ap p l i c a t i o n So f t w a r e
En g i n e e r i n g To o l [ 1 6 ] a n d o n e c a l l e d t h e In f o r m a t i o n
Au t o m a t [ 1 7 ] , b u t f u r t h e r i n f o r m a t i o n i s n e e d e d t o a s s e s s
t h e i r c u r r e n t s t a t u s a n d d i r e c t i o n s .
An o t h e r a v e n u e i n v o l v e s t h e f o r m a l i z a t i o n a n d s p e c i -
f i c a t i o n o f r e q u i r e d p r o p e r t i e s i n a s o f t w a r e s p e c i f i c a t i o n
( r e l i a b i l i t y , m a i n t a i n a b i l i t y , p o r t a b i l i t y , e t c .) . So m e s u c c e s s
h a s b e e n e x p e r i e n c e d h e r e f o r s m a l l - t o - m e d i u m s y s t e m s ,
u s i n g a " Re q u i r e m e n t s - Pr o p e r t i e s Ma t r i x " t o h e l p a n a l y s t s
i n f e r a d d i t i o n a l r e q u i r e m e n t s i m p l i e d b y s u c h c o n s i d e r -
a t i o n s [ 1 8 ] .
D. Tr e n d s
In t h e a r e a o f r e q u i r e m e n t s s t a t e m e n t l a n g u a g e s , w e w i l l
s e e f u r t h e r e f f o r t s e i t h e r t o e x t e n d t h e ISDOS- PSL a n d
SREP- RSL c a p a b i l i t i e s t o h a n d l e f u r t h e r a r e a s o f a p p l i -
c a t i o n , s u c h a s m a n - m a c h i n e i n t e r a c t i o n s , o r t o d e v e l o p
l a n g u a g e v a r i a n t s s p e c i f i c t o s u c h a r e a s . It i s s t i l l a n o p e n
q u e s t i o n a s t o h o w g e n e r a l s u c h a l a n g u a g e c a n b e a n d s t i l l
r e t a i n i t s u t i l i t y . Ot h e r o p e n q u e s t i o n s a r e t h o s e o f t h e
n a t u r e , " w h i c h r e p r e s e n t a t i o n s c h e m e i s b e s t f o r d e s c r i b i n g
r e q u i r e m e n t s i n a c e r t a i n a r e a ? " BMDATC i s s p o n s o r i n g
s o m e w o r k h e r e i n r e p r e s e n t i n g g e n e r a l d a t a - p r o c e s s i n g
s y s t e m r e q u i r e m e n t s f o r t h e BMD p r o b l e m , i n v o l v i n g
Pe t r i n e t s , s t a t e t r a n s i t i o n d i a g r a m s , a n d p r e d i c a t e c a l -
c u l u s [ 1 1 ] , b u t i t s o u t c o m e i s s t i l l u n c e r t a i n .
A g o o d d e a l m o r e c a n a n d w i l l b e d o n e t o e x t e n d t h e
c a p a b i l i t y o f r e q u i r e m e n t s s t a t e m e n t a n a l y z e r s . So m e
e x t e n s i o n s a r e f a i r l y s t r a i g h t f o r w a r d c o n s i s t e n c y c h e c k i n g ;
o t h e r s , i n v o l v i n g t h e u s e o f r e l a t i o n a l o p e r a t o r s t o d e d u c e
d e r i v e d r e q u i r e m e n t s a n d t h e d e t e c t i o n ( a n d p e r h a p s
g e n e r a t i o n ) o f m i s s i n g r e q u i r e m e n t s a r e m o r e d i f f i c u l t ,
t e n d i n g t o w a r d t h e a u t o m a t i c p r o g r a m m i n g w o r k .
Ot h e r a d v a n c e s w i l l i n v o l v e t h e u s e o f f o r m a l r e q u i r e -
m e n t s s t a t e m e n t s t o i m p r o v e s u b s e q u e n t p a r t s o f t h e
s o f t w a r e l i f e c y c l e . Ex a m p l e s i n c l u d e r e q u i r e m e n t s - d e -
s i g n - c o d e c o n s i s t e n c y c h e c k i n g ( o n e i n i t i a l e f f o r t i s u n -
d e r w a y ) , t h e a u t o m a t i c g e n e r a t i o n o f t e s t c a s e s f r o m r e -
q u i r e m e n t s s t a t e m e n t s , a n d , o f c o u r s e , t h e a d v a n c e s i n
a u t o m a t i c p r o g r a m m i n g i n v o l v i n g t h e g e n e r a t i o n o f c o d e
f r o m r e q u i r e m e n t s .
1 2 2 9
IEEE TRANSACTIONS ON COMPUTERS, DECEMBER 1 9 7 6
Pr o g r e s s w i l l n o t n e c e s s a r i l y b e e v o l u t i o n a r y , t h o u g h .
Th e r e i s a l w a y s a g o o d c h a n c e o f a b r e a k t h r o u g h : s o m e k e y
c o n c e p t w h i c h w i l l s i m p l i f y a n d f o r m a l i z e l a r g e r e g i o n s o f
t h e p r o b l e m s p a c e . Ev e n t h e n , t h o u g h , t h e r e w i l l a l w a y s
r e m a i n d i f f i c u l t r e g i o n s w h i c h w i l l r e q u i r e h u m a n i n s i g h t
a n d s e n s i t i v i t y t o c o m e u p w i t h a n a c c e p t a b l e s e t o f s o f t -
w a r e r e q u i r e m e n t s .
An o t h e r t r e n d i n v o l v e s t h e i m p a c t o f h a v i n g f o r m a l ,
m a c h i n e - a n a l y z a b l e r e q u i r e m e n t s ( a n d d e s i g n ) s p e c i f i -
c a t i o n s o n o u r o v e r a l l i n v e n t o r y o f s o f t w a r e c o d e . Be s i d e s
i m p r o v i n g s o f t w a r e r e l i a b i l i t y , t h i s w i l l m a k e o u r s o f t w a r e
m u c h m o r e p o r t a b l e ; u s e r s w i l l n o t b e t i e d s o m u c h t o a
p a r t i c u l a r m a c h i n e c o n f i g u r a t i o n . It i s i n t e r e s t i n g t o
s p e c u l a t e o n w h a t i m p a c t t h i s w i l l h a v e o n h a r d w a r e v e n -
d o r s i n t h e f u t u r e .
IV. SOF TWARE DESIG N
A. Th e Re q u i r e m e n t s /De s i g n Di l e m m a
Id e a l l y , o n e w o u l d l i k e t o h a v e a c o m p l e t e , c o n s i s t e n t ,
v a l i d a t e d , u n a m b i g u o u s , m a c h i n e - i n d e p e n d e n t s p e c i f i -
c a t i o n o f s o f t w a r e r e q u i r e m e n t s b e f o r e p r o c e e d i n g t o
s o f t w a r e d e s i g n . Ho w e v e r , t h e r e q u i r e m e n t s a r e n o t r e a l l y
v a l i d a t e d u n t i l i t i s d e t e r m i n e d t h a t t h e r e s u l t i n g s y s t e m
c a n b e b u i l t f o r a r e a s o n a b l e c o s t - a n d t o d o s o r e q u i r e s
d e v e l o p i n g o n e o r m o r e s o f t w a r e d e s i g n s ( a n d a n y a s s o -
c i a t e d h a r d w a r e d e s i g n s n e e d e d ) .
Th i s d i l e m m a i s c o m p l i c a t e d b y t h e h u g e n u m b e r o f
d e g r e e s o f f r e e d o m a v a i l a b l e t o s o f t w a r e /h a r d w a r e s y s t e m
d e s i g n e r s . In t h e 1 9 5 0 ' s , a s i n d i c a t e d b y Ta b l e I, t h e d e .-
s i g n e r h a d o n l y a f e w a l t e r n a t i v e s t o c h o o s e f r o m i n s e -
l e c t i n g a c e n t r a l p r o c e s s i n g u n i t ( CPU) , a s e t o f p e r i p h e r -
a l s , a p r o g r a m m i n g l a n g u a g e , a n d a n e n s e m b l e o f s u p p o r t
s o f t w a r e . In t h e 1 9 7 0 ' s , w i t h r a p i d l y e v o l v i n g m i n i - a n d
m i c r o c o m p u t e r s , f i r m w a r e , m o d e m s , s m a r t t e r m i n a l s , d a t a
m a n a g e m e n t s y s t e m s , e t c ., t h e d e s i g n e r h a s a n e n o r m o u s
n u m b e r o f a l t e r n a t i v e d e s i g n c o m p o n e n t s t o s o r t o u t
( p o s s i b i l i t i e s ) a n d t o s e r i o u s l y c h o o s e f r o m ( l i k e l y c h o i c e s ) .
By t h e 1 9 8 0 ' s , t h e n u m b e r o f p o s s i b l e d e s i g n c o m b i n a t i o n s
w i l l b e f o r m i d a b l e .
Th e f o l l o w i n g a r e s o m e o f t h e i m p l i c a t i o n s f o r t h e d e -
s i g n e r . 1 ) It i s e a s i e r f o r h i m t o d o a n o u t s t a n d i n g d e s i g n
j o b . 2 ) It i s e a s i e r f o r h i m t o d o a t e r r i b l e d e s i g n j o b . 3 ) He
n e e d s m o r e p o w e r f u l a n a l y s i s t o o l s t o h e l p h i m s o r t o u t t h e
a l t e r n a t i v e s . 4 ) He h a s m o r e o p p o r t u n i t i e s f o r d e s i g n i n g -
t o - c o s t . 5 ) He h a s m o r e o p p o r t u n i t i e s t o d e s i g n a n d d e -
v e l o p t u n a b l e s y s t e m s . 6 ) He n e e d s a m o r e f l e x i b l e r e -
q u i r e m e n t s - t r a c k i n g a n d h a r d w a r e p r o c u r e m e n t m e c h a -
n i s m t o s u p p o r t t h e a b o v e f l e x i b i l i t y ( p a r t i c u l a r l y i n g o v -
e r n m e n t s y s t e m s ) . 7 ) An y r a t i o n a l s t a n d a r d i z a t i o n ( e .g .,
i n p r o g r a m m i n g l a n g u a g e s ) w i l l b e a b i g h e l p t o h i m , i n t h a t
i t r e d u c e s t h e n u m b e r o f a l t e r n a t i v e s h e m u s t c o n s i d e r .
B. Cu r r e n t Pr a c t i c e
So f t w a r e d e s i g n i s s t i l l a l m o s t c o m p l e t e l y a m a n u a l
p r o c e s s ; Th e r e i s r e l a t i v e l y l i t t l e e f f o r t d e v o t e d t o d e s i g n
v a l i d a t i o n a n d r i s k a n a l y s i s b e f o r e c o m m i t t i n g t o a p a r -
TABLE I
De s i g n De g r e e s o f F r e e d o m f o r Ne w Da t a Pr o c e s s i n g Sy s t e m s
( Ro u g h Es t i m a t e s )
Li k e l y
Ch o i c e s Po s s i b i l i t i e s Ch o i c e s
El e m e n t ( 1 9 5 0 ' s ) ( 1 9 7 0 ' s ) ( 1 9 7 0 ' s )
CPU 5 2 0 0 1 0 0
Op - Co d e s f i x e d v a r i a b l e v a r i a b l e
Pe r i p h e r a l s ( p e r f u n c t i o n ) 1 2 0 0 1 0 0
Pr o g r a m m i n g l a n g u a g e 1 5 0 5 - 1 0
Op e r a t i n g s y s t e m 0 - 1 1 0 5
Da t a m a n a g e m e n t s y s t e m 0 1 0 0 3 0
t i c u l a r s o f t w a r e d e s i g n . Mo s t s o f t w a r e e r r o r s a r e m a d e
d u r i n g t h e d e s i g n p h a s e . As s e e n i n F i g . 4 , w h i c h s u m m a -
r i z e s s e v e r a l s o f t w a r e e r r o r a n a l y s e s b y IBM [ 4 ] , [ 1 9 ] a n d
TRW [ 2 0 ] , [ 2 1 ] , t h e r a t i o o f d e s i g n t o c o d i n g e r r o r s g e n e r -
a l l y e x c e e d s 6 0 : 4 0 . ( F o r t h e TRW d a t a , a n e r r o r w a s c a l l e d
a d e s i g n e r r o r i f a n d o n l y i f t h e r e s u l t i n g f i x r e q u i r e d a
c h a n g e i n t h e d e t a i l e d d e s i g n s p e c i f i c a t i o n .)
Mo s t s o f t w a r e d e s i g n i s s t i l l d o n e b o t t o m - u p , b y d e v e l -
o p i n g s o f t w a r e c o m p o n e n t s b e f o r e a d d r e s s i n g i n t e r f a c e
a n d i n t e g r a t i o n i s s u e s . Th e r e i s , h o w e v e r , i n c r e a s i n g s u c -
c e s s f u l u s e o f t o p - d o w n d e s i g n . Th e r e i s l i t t l e o r g a n i z e d
k n o w l e d g e o f w h a t a s o f t w a r e d e s i g n e r d o e s , h o w h e d o e s
i t , o r o f w h a t m a k e s a g o o d s o f t w a r e d e s i g n e r , a l t h o u g h
s o m e i n i t i a l w o r k a l o n g t h e s e l i n e s h a s b e e n d o n e b y
F r e e m a n [ 2 2 ] .
C. Cu r r e n t F r o n t i e r Te c h n o l o g y
Re l a t i v e l y l i t t l e i s a v a i l a b l e t o h e l p t h e d e s i g n e r m a k e
t h e o v e r a l l h a r d w a r e - s o f t w a r e t r a d e o f f a n a l y s e s a n d d e -
c i s i o n s t o a p p r o p r i a t e l y n a r r o w t h e l a r g e n u m b e r o f d e s i g n
d e g r e e s o f f r e e d o m a v a i l a b l e t o h i m . At t h e m i c r o l e v e l ,
s o m e f o r m a l i s m s s u c h a s LOG OS [ 2 3 ] h a v e b e e n h e l p f u l ,
b u t a t t h e m a c r o l e v e l , n o t m u c h i s a v a i l a b l e b e y o n d g e n -
e r a l s y s t e m e n g i n e e r i n g t e c h n i q u e s . So m e h e l p i s p r o v i d e d
v i a i m p r o v e d t e c h n i q u e s f o r s i m u l a t i n g i n f o r m a t i o n s y s -
t e m s , s u c h a s t h e Ex t e n d a b l e Co m p u t e r Sy s t e m Si m u l a t o r
( ECSS) [ 2 4 ] , [ 2 5 ] , w h i c h m a k e i t p o s s i b l e t o d e v e l o p a f a i r l y
t h o r o u g h f u n c t i o n a l s i m u l a t i o n o f t h e s y s t e m f o r d e s i g n
a n a l y s i s i n a c o n s i d e r a b l y s h o r t e r t i m e t h a n i t t a k e s t o
d e v e l o p t h e c o m p l e t e d e s i g n i t s e l f .
1 ) To p - Do w n De s i g n : Mo s t o f t h e h e l p f u l n e w t e c h -
n i q u e s f o r s o f t w a r e d e s i g n f a l l i n t o t h e c a t e g o r y o f " t o p -
d o w n " a p p r o a c h e s , w h e r e t h e " t o p " i s a l r e a d y a s s u m e d t o
b e a f i r m , f i x e d r e q u i r e m e n t s s p e c i f i c a t i o n a n d h a r d w a r e
a r c h i t e c t u r e . Of t e n , i t i s a l s o a s s u m e d t h a t t h e d a t a
s t r u c t u r e h a s a l s o b e e n e s t a b l i s h e d . ( Th e s e a s s u m p t i o n s
m u s t i n m a n y c a s e s b e c o n s i d e r e d p o t e n t i a l p i t f a l l s i n u s i n g
s u c h t o p - d o w n t e c h n i q u e s .)
Wh a t t h e t o p - d o w n a p p r o a c h d o e s w e l l , t h o u g h , i s t o
p r o v i d e a p r o c e d u r e f o r o r g a n i z i n g a n d d e v e l o p i n g t h e
c o n t r o l s t r u c t u r e o f a p r o g r a m i n a w a y w h i c h f o c u s e s e a r l y
a t t e n t i o n o n t h e c r i t i c a l i s s u e s o f i n t e g r a t i o n a n d i n t e r f a c e
d e f i n i t i o n . It b e g i n s w i t h a t o p - l e v e l e x p r e s s i o n o f a h i e r -
a r c h i c a l c o n t r o l s t r u c t u r e ( o f t e n a t o p l e v e l " e x e c u t i v e "
r o u t i n e c o n t r o l l i n g a n " i n p u t ," a " p r o c e s s ," a n d a n " o u t -
1 2 3 0
BOEHM: SOF TWARE ENG INEERING
6 0
5 0 F -
4 0 k -
3 0 F -
2 0 1 -
0
TRW
C+C
DEVELOPMENT
TRW
C+C
MAINTENANCE
IBM
OS
DEVELOPMENT AND
MAI NTENANCE
IBM
OS
DEVELOPMENT
F i g . 4 . Mo s t e r r o r s i n l a r g e s o f t w a r e s y s t e m s a r e i n e a r l y s t a g e s .
p u t " r o u t i n e ) a n d p r o c e e d s t o i t e r a t i v e l y r e f i n e e a c h s u c -
c e s s i v e l o w e r - l e v e l c o m p o n e n t u n t i l t h e e n t i r e s y s t e m i s
s p e c i f i e d . Th e s u c c e s s i v e r e f i n e m e n t s , w h i c h m a y b e
c o n s i d e r e d a s " l e v e l s o f a b s t r a c t i o n " o r " v i r t u a l m a c h i n e s "
[ 2 6 ] , p r o v i d e a n u m b e r o f a d v a n t a g e s i n i m p r o v e d u n d e r -
s t a n d i n g , c o m m u n i c a t i o n , a n d v e r i f i c a t i o n o f c o m p l e x
d e s i g n s [ 2 7 ] , [ 2 8 ] . In g e n e r a l , t h o u g h , e x p e r i e n c e s h o w s t h a t
s o m e d e g r e e o f e a r l y a t t e n t i o n t o b o t t o m - l e v e l d e s i g n
i s s u e s i s n e c e s s a r y o n m o s t p r o j e c t s [ 2 9 ] .
Th e t e c h n o l o g y o f t o p - d o w n d e s i g n h a s c e n t e r e d o n t w o
m a i n i s s u e s . On e i n v o l v e s e s t a b l i s h i n g g u i d e l i n e s f o r h o w
t o p e r f o r m s u c c e s s i v e r e f i n e m e n t s a n d t o g r o u p f u n c t i o n s
i n t o m o d u l e s ; t h e o t h e r i n v o l v e s t e c h n i q u e s o f r e p r e -
s e n t i n g t h e d e s i g n o f t h e c o n t r o l s t r u c t u r e a n d i t s i n t e r -
a c t i o n w i t h d a t a .
2 ) Mo d u l a r i z a t i o n : Th e t e c h n i q u e s o f s t r u c t u r e d d e s i g n
[ 3 0 ] ( o r c o m p o s i t e d e s i g n [ 3 1 ] ) a n d t h e m o d u l a r i z a t i o n
g u i d e l i n e s o f Pa r n a s [ 3 2 ] p r o v i d e t h e m o s t d e t a i l e d
t h i n k i n g a n d h e l p i n t h e a r e a o f m o d u l e d e f i n i t i o n a n d
r e f i n e m e n t . St r u c t u r e d d e s i g n e s t a b l i s h e s a n u m b e r o f
s u c c e s s i v e l y s t r o n g e r t y p e s o f b i n d i n g o f f u n c t i o n s i n t o
m o d u l e s ( c o i n c i d e n t a l , l o g i c a l , c l a s s i c a l , p r o c e d u r a l ,
c o m m u n i c a t i o n a l , i n f o r m a t i o n a l , a n d f u n c t i o n a l ) a n d
p r o v i d e s t h e g u i d e l i n e t h a t a f u n c t i o n s h o u l d b e g r o u p e d
w i t h t h o s e f u n c t i o n s t o w h i c h i t s b i n d i n g i s t h e s t r o n g e s t .
So m e d e s i g n e r s a r e a b l e t o u s e t h i s a p p r o a c h q u i t e s u c -
c e s s f u l l y ; o t h e r s f i n d i t u s e f u l f o r r e v i e w i n g d e s i g n s b u t n o t
f o r f o r m u l a t i n g t h e m ; a n d o t h e r s s i m p l y f i n d i t t o o a m -
b i g u o u s o r c o m p l e x t o b e o f h e l p . F u r t h e r e x p e r i e n c e w i l l
b e n e e d e d t o d e t e r m i n e h o w m u c h o f t h i s i s s i m p l y a
l e a r n i n g c u r v e e f f e c t . In g e n e r a l , Pa r n a s ' m o d u l a r i z a t i o n
c r i t e r i a a n d g u i d e l i n e s a r e m o r e s t r a i g h t f o r w a r d a n d w i d e l y
u s e d t h a n t h e l e v e l s - o f - b i n d i n g g u i d e l i n e s , a l t h o u g h t h e y
m a y a l s o b e b e c o m i n g m o r e c o m p l i c a t e d a s t h e y a d d r e s s
s u c h i s s u e s a s d i s t r i b u t i o n o f r e s p o n s i b i l i t y f o r e r r o n e o u s
i n p u t s [ 3 3 ] . Al o n g t h e s e l i n e s , Dr a p e r La b s ' Hi g h e r Or d e r
So f t w a r e ( HOS) m e t h o d o l o g y [ 3 4 ] h a s a t t e m p t e d t o r e -
s o l v e s u c h i s s u e s v i a a s e t o f s i x a x i o m s c o v e r i n g r e l a t i o n s
b e t w e e n m o d u l e s a n d d a t a , i n c l u d i n g r e s p o n s i b i l i t y f o r
e r r o n e o u s i n p u t s . F o r e x a m p l e , Ax i o m 5 s t a t e s , " Ea c h
m o d u l e c o n t r o l s t h e r e j e c t i o n o f i n v a l i d e l e m e n t s o f i t s o w n ,
a n d o n l y i t s o w n , i n p u t s e t ." 2
3 ) De s i g n Re p r e s e n t a t i o n : F l o w c h a r t s r e m a i n t h e m a i n
m e t h o d c u r r e n t l y u s e d f o r d e s i g n r e p r e s e n t a t i o n . Th e y
h a v e a n u m b e r o f d e f i c i e n c i e s , p a r t i c u l a r l y i n r e p r e s e n t i n g
h i e r a r c h i c a l c o n t r o l s t r u c t u r e s a n d d a t a i n t e r a c t i o n s . Al s o ,
t h e i r f r e e - f o r m n a t u r e m a k e s i t t o o e a s y t o c o n s t r u c t
c o m p l i c a t e d , u n s t r u c t u r e d d e s i g n s w h i c h a r e h a r d t o u n -
- d e r s t a n d a n d m a i n t a i n . A n u m b e r o f r e p r e s e n t a t i o n
s c h e m e s h a v e b e e n d e v e l o p e d t o a v o i d t h e s e d e f i c i e n -
c i e s .
Th e h i e r a r c h i c a l i n p u t - p r o c e s s - o u t p u t ( HIPO) t e c h -
n i q u e [ 3 5 ] r e p r e s e n t s s o f t w a r e i n a h i e r a r c h y o f m o d u l e s ,
e a c h o f w h i c h i s r e p r e s e n t e d b y i t s i n p u t s , i t s o u t p u t s , a n d
a s u m m a r y o f t h e p r o c e s s i n g w h i c h c o n n e c t s t h e i n p u t s a n d
o u t p u t s . Ad v a n t a g e s o f t h e HIPO t e c h n i q u e a r e i t s e a s e
o f u s e , e a s e o f l e a r n i n g , e a s y - t o - u n d e r s t a n d g r a p h i c s , a n d
d i s c i p l i n e d s t r u c t u r e . So m e g e n e r a l d i s a d v a n t a g e s a r e t h e
a m b i g u i t y o f t h e c o n t r o l r e l a t i o n s h i p s ( a r e s u c c e s s i v e l o w e r
2
Pr o b l e m s c a n a r i s e , h o w e v e r , w h e n o n e f u r n i s h e s s u c h a d e s i g n c h o i c e
w i t h t h e p o w e r o f a n a x i o m . Su p p o s e , f o r e x a m p l e , t h e i n p u t s e t c o n t a i n s
a h u g e t a b l e o r a m a s t e r f i l e . Is t h e m o d u l e s t u c k w i t h t h e j o b o f c h e c k i n g
i t , b y i t s e l f , e v e r y t i m e ?
PERCENT
OF
TOTAL
ERRORS
DESIG N
ERRORS
CODING
ERRORS
1 0 F - -
1 2 3 1
IEEE TRANSACTIONS ON COMPUTERS, DECEMBER 1 9 7 6
l e v e l m o d u l e s i n s e q u e n c e , i n a l o o p , o r i n a n i f /e l s e r e l a -
t i o n s h i p ? ) , t h e l a c k o f s u m m a r y i n f o r m a t i o n a b o u t d a t a ,
t h e u n w i e l d i n e s s o f t h e g r a p h i c s o n l a r g e s y s t e m s , a n d t h e
m a n u a l n a t u r e o f t h e t e c h n i q u e . So m e a t t e m p t s h a v e b e e n
m a d e t o a u t o m a t e t h e r e p r e s e n t a t i o n a n d g e n e r a t i o n o f
HIPO' s s u c h a s Un i v a c ' s PROVAC Sy s t e m
[ 3 6 ] .
Th e s t r u c t u r e c h a r t s u s e d i n s t r u c t u r e d d e s i g n [ 3 0 ] , [ 3 1 ]
r e m e d y s o m e o f t h e s e d i s a d v a n t a g e s , a l t h o u g h t h e y l o s e
t h e a d v a n t a g e o f r e p r e s e n t i n g t h e p r o c e s s e s c o n n e c t i n g t h e
i n p u t s w i t h t h e o u t p u t s . In d o i n g s o , t h o u g h , t h e y p r o v i d e
a m o r e c o m p a c t s u m m a r y o f a m o d u l e ' s i n p u t s a n d o u t p u t s
w h i c h i s l e s s u n w i e l d y o n l a r g e p r o b l e m s . Th e y a l s o p r o v i d e
s o m e e x t r a s y m b o l o g y t o r e m o v e a t l e a s t s o m e o f t h e s e -
q u e n c e /l o o p /b r a n c h a m b i g u i t y o f t h e c o n t r o l r e l a t i o n -
s h i p s .
Se v e r a l o t h e r s i m i l a r c o n v e n t i o n s h a v e b e e n d e v e l o p e d
[ 3 7 ] - [ 3 9 ] , e a c h w i t h d i f f e r e n t s t r o n g p o i n t s , b u t o n e m a i n
d i f f i c u l t y o f a n y s u c h m a n u a l s y s t e m i s t h e d i f f i c u l t y o f
k e e p i n g t h e d e s i g n c o n s i s t e n t a n d u p - t o - d a t e , e s p e c i a l l y
o n l a r g e p r o b l e m s . Th u s , a n u m b e r o f s y s t e m s h a v e b e e n
d e v e l o p e d w h i c h s t o r e d e s i g n i n f o r m a t i o n i n m a c h i n e -
r e a d a b l e f o r m . Th i s s i m p l i f i e s u p d a t i n g ( a n d r e d u c e s
u p d a t e e r r o r s ) a n d f a c i l i t a t e s g e n e r a t i o n o f s e l e c t i v e d e s i g n
s u m m a r i e s a n d s i m p l e c o n s i s t e n c y c h e c k i n g . Ex p e r i e n c e
h a s s h o w n t h a t e v e n a s i m p l e s e t o f a u t o m a t e d c o n s i s t e n c y
c h e c k s c a n c a t c h d o z e n s o f p o t e n t i a l p r o b l e m s i n a l a r g e
d e s i g n s p e c i f i c a t i o n
[ 2 1 ] . Sy s t e m s o f t h i s n a t u r e t h a t h a v e
b e e n r e p o r t e d i n c l u d e t h e Ne w c a s t l e TOPD s y s t e m
[ 4 0 1 ,
TRW' s DACC a n d DEVISE s y s t e m s [ 2 1 ] , Bo e i n g ' s DECA
Sy s t e m [ 4 1 ] , a n d Un i v a c ' s PROVAC
[ 3 6 1 ; s e v e r a l m o r e a r e
u n d e r d e v e l o p m e n t .
An o t h e r m a c h i n e - p r o c e s s a b l e d e s i g n r e p r e s e n t a t i o n i s
p r o v i d e d b y Ca i n e , F a r b e r , a n d G o r d o n ' s Pr o g r a m De s i g n
La n g u a g e ( PDL) Sy s t e m [ 4 2 ] . Th i s s y s t e m a c c e p t s c o n -
s t r u c t s w h i c h h a v e t h e f o r m o f h i e r a r c h i c a l s t r u c t u r e d
p r o g r a m s , b u t i n s t e a d o f t h e a c t u a l c o d e , t h e d e s i g n e r c a n
w r i t e s o m e En g l i s h t e x t d e s c r i b i n g w h a t t h e s e g m e n t o f
c o d e w i l l d o . ( Th i s r e p r e s e n t a t i o n w a s o r i g i n a l l y c a l l e d
" s t r u c t u r e d p i d g i n " b y Mi l l s [ 4 3 ] .) Th e PDL s y s t e m a g a i n
m a k e s u p d a t i n g m u c h e a s i e r ; i t a l s o p r o v i d e s a n u m b e r o f
u s e f u l f o r m a t t e d s u m m a r i e s o f t h e d e s i g n i n f o r m a t i o n ,
a l t h o u g h i t s t i l l l a c k s s o m e w i s h e d - f o r f e a t u r e s t o s u p p o r t
t e r m i n o l o g y c o n t r o l a n d v e r s i o n c o n t r o l . Th e p r o g r a m - l i k e
r e p r e s e n t a t i o n m a k e s i t e a s y f o r p r o g r a m m e r s t o r e a d a n d
w r i t e PDL, a l b e i t l e s s e a s y f o r n o n p r o g r a m m e r s . In i t i a l
r e s u l t s i n u s i n g t h e PDL s y s t e m o n p r o j e c t s h a v e b e e n
q u i t e f a v o r a b l e .
D. Tr e n d s
On c e a g o o d d e a l o f d e s i g n i n f o r m a t i o n i s i n m a c h i n e -
r e a d a b l e f o r m , t h e r e i s a f a i r a m o u n t o f p r e s s u r e f r o m u s e r s
t o d o m o r e w i t h i t : t o g e n e r a t e c o r e a n d t i m e b u d g e t s ,
s o f t w a r e c o s t e s t i m a t e s , f i r s t - c u t d a t a b a s e d e s c r i p t i o n s ,
e t c . We s h o u l d c o n t i n u e t o s e e s u c h a d d e d c a p a b i l i t i e s , a n d
g e n e r a l l y a f u r t h e r e v o l u t i o n t o w a r d c o m p u t e r - a i d e d -
d e s i g n s y s t e m s f o r s o f t w a r e . Be s i d e s i m p r o v e m e n t s i n
d e t e r m i n i n g a n d r e p r e s e n t i n g c o n t r o l s t r u c t u r e s , w e s h o u l d
s e e p r o g r e s s i n t h e m o r e d i f f i c u l t a r e a o f d a t a s t r u c t u r i n g .
So m e i n i t i a l a t t e m p t s h a v e b e e n m a d e b y Ho a r e [ 4 4 ] a n d
o t h e r s t o p r o v i d e a d a t a a n a l o g o f t h e b a s i c c o n t r o l s t r u c -
t u r e s i n s t r u c t u r e d p r o g r a m m i n g , b u t w i t h l e s s p r a c t i c a l
i m p a c t t o d a t e . Ad d i t i o n a l l y , t h e r e w i l l b e m o r e i n t e g r a t i o n
a n d t r a c e a b i l i t y b e t w e e n t h e r e q u i r e m e n t s s p e c i f i c a t i o n ,
t h e d e s i g n s p e c i f i c a t i o n , a n d t h e c o d e - a g a i n w i t h s i g n i f -
i c a n t i m p l i c a t i o n s r e g a r d i n g t h e i m p r o v e d p o r t a b i l i t y o f
a u s e r ' s s o f t w a r e .
Th e p r o l i f e r a t i o n o f m i n i c o m p u t e r s a n d m i c r o c o m p u -
t e r s w i l l c o n t i n u e t o c o m p l i c a t e t h e d e s i g n e r ' s j o b . It i s
d i f f i c u l t e n o u g h t o d e r i v e o r u s e p r i n c i p l e s f o r p a r t i t i o n i n g
s o f t w a r e j o b s o n s i n g l e m a c h i n e s ; a d d i t i o n a l d e g r e e s o f
f r e e d o m a n d c o n c u r r e n c y p r o b l e m s j u s t m a k e t h i n g s s o
m u c h h a r d e r . He r e a g a i n , t h o u g h , w e s h o u l d e x p e c t a t l e a s t
s o m e i n i t i a l g u i d e l i n e s f o r d e c o m p o s i n g i n f o r m a t i o n p r o -
c e s s i n g j o b s i n t o s e p a r a t e c o n c u r r e n t p r o c e s s e s .
It i s s t i l l n o t c l e a r , h o w e v e r , h o w m u c h o n e c a n f o r m a l i z e
t h e s o f t w a r e d e s i g n p r o c e s s . Su r v e y s o f s o f t w a r e d e s i g n e r s
h a v e i n d i c a t e d a w i d e v a r i a t i o n i n t h e i r d e s i g n s t y l e s a n d
a p p r o a c h e s , a n d i n t h e i r r e c e p t i v e n e s s t o u s i n g f o r m a l
d e s i g n p r o c e d u r e s . Th e k e y t o g o o d s o f t w a r e d e s i g n s t i l l
l i e s i n g e t t i n g t h e b e s t o u t o f g o o d p e o p l e , a n d i n s t r u c t -
u r i n g t h e j o b s o t h a t t h e l e s s - g o o d p e o p l e c a n s t i l l m a k e a
p o s i t i v e c o n t r i b u t i o n .
V. PROG RAMMING
Th i s s e c t i o n w i l l b e b r i e f , b e c a u s e m u c h o f t h e m a t e r i a l
w i l l b e c o v e r e d i n t h e c o m p a n i o n a r t i c l e b y We g n e r o n
" Co m p u t e r La n g u a g e s " [ 3 ] .
A. Cu r r e n t Pr a c t i c e
Ma n y o r g a n i z a t i o n s a r e m o v i n g t o w a r d u s i n g s t r u c t u r e d
c o d e [ 2 8 ] , [ 4 3 ] ( h i e r a r c h i c a l , b l o c k - o r i e n t e d c o d e w i t h a
l i m i t e d n u m b e r o f c o n t r o l s t r u c t u r e s - g e n e r a l l y SE-
QUENCE, IF THENELSE, CASE, DOWHILE, a n d DOUNTIL-
a n d r u l e s f o r f o r m a t t i n g a n d l i m i t i n g m o d u l e s i z e ) . A g r e a t
d e a l o f t e r r i b l y u n s t r u c t u r e d c o d e i s s t i l l b e i n g w r i t t e n ,
t h o u g h , o f t e n i n a s s e m b l y l a n g u a g e a n d p a r t i c u l a r l y f o r t h e
r a p i d l y p r o l i f e r a t i n g m i n i c o m p u t e r s a n d m i c r o c o m p u -
t e r s .
B. Cu r r e n t F r o n t i e r Te c h n o l o g y
La n g u a g e s a r e b e c o m i n g a v a i l a b l e w h i c h s u p p o r t
s t r u c t u r e d c o d e a n d a d d i t i o n a l v a l u a b l e f e a t u r e s s u c h a s
d a t a t y p i n g a n d t y p e c h e c k i n g ( e .g ., Pa s c a l [ 4 5 ] ) . Ex t e n -
s i o n s s u c h a s c o n c u r r e n t Pa s c a l [ 4 6 ] h a v e b e e n d e v e l o p e d
t o s u p p o r t t h e p r o g r a m m i n g o f c o n c u r r e n t p r o c e s s e s . Ex -
t e n s i o n s t o d a t a t y p i n g i n v o l v i n g m o r e e x p l i c i t b i n d i n g o f
p r o c e d u r e s a n d t h e i r d a t a h a v e b e e n e m b o d i e d i n r e c e n t
l a n g u a g e s s u c h a s ALPHARD [ 4 7 ] a n d CLU [ 4 8 ] . Me -
t a c o m p i l e r a n d c o m p i l e r w r i t i n g s y s t e m t e c h n o l o g y c o n -
t i n u e s t o i m p r o v e , a l t h o u g h m u c h m o r e s l o w l y i n t h e c o d e
g e n e r a t i o n a r e a t h a n i n t h e s y n t a x a n a l y s i s a r e a .
Au t o m a t e d a i d s i n c l u d e s u p p o r t s y s t e m s f o r t o p - d o w n
s t r u c t u r e d p r o g r a m m i n g s u c h a s t h e Pr o g r a m Su p p o r t
Li b r a r y [ 4 9 ] , Pr o c e s s Co n s t r u c t i o n [ 5 0 ] , TOPD [ 4 0 ] , a n d
1 2 3 2
BOEHM: SOF TWARE ENG INEERING
COLUMBUS [ 5 1 ] . An o t h e r n o v e l a i d i s t h e Co d e Au d i t o r
p r o g r a m [ 5 0 ] f o r a u t o m a t e d s t a n d a r d s c o m p l i a n c e
c h e c k i n g - w h i c h g u a r a n t e e s t h a t t h e s t a n d a r d s a r e m o r e
t h a n j u s t w o r d s . G o o d p r o g r a m m i n g p r a c t i c e s a r e n o w
b e c o m i n g c o d i f i e d i n t o s t y l e h a n d b o o k s , i .e ., K e r n i g h a n
a n d Pl a u g e r [ 5 2 ] a n d Le d g a r d [ 5 3 ] .
C. Tr e n d s
It i s d i f f i c u l t t o c l e a n u p o l d p r o g r a m m i n g l a n g u a g e s o r
t o i n t r o d u c e n e w o n e s i n t o w i d e s p r e a d p r a c t i c e . Pe r h a p s
t h e s t r o n g e s t h o p e i n t h i s d i r e c t i o n i s t h e c u r r e n t De -
p a r t m e n t o f De f e n s e ( Do D) e f f o r t t o d e f i n e r e q u i r e m e n t s
f o r i t s f u t u r e h i g h e r o r d e r p r o g r a m m i n g l a n g u a g e s [ 5 4 ] ,
w h i c h m a y e v e n t u a l l y l e a d t o t h e d e v e l o p m e n t a n d w i d e -
s p r e a d u s e o f a c l e a n e r p r o g r a m m i n g l a n g u a g e . An o t h e r
t r e n d w i l l b e a n i n c r e a s i n g c a p a b i l i t y f o r a u t o m a t i c a l l y
g e n e r a t i n g c o d e f r o m d e s i g n s p e c i f i c a t i o n s .
VI. SOF TWARE TESTING AND RELIABILITY
A. Cu r r e n t Pr a c t i c e
Su r p r i s i n g l y o f t e n , s o f t w a r e t e s t i n g a n d r e l i a b i l i t y a c -
t i v i t i e s a r e s t i l l n o t c o n s i d e r e d u n t i l t h e c o d e h a s b e e n r u n
t h e f i r s t t i m e a n d f o u n d n o t t o w o r k . In g e n e r a l , t h e h i g h
c o s t o f t e s t i n g ( s t i l l 4 0 - 5 0 p e r c e n t o f t h e d e v e l o p m e n t e f -
f o r t ) i s d u e t o t h e h i g h c o s t o f r e w o r k i n g t h e c o d e a t t h i s
s t a g e ( s e e F i g . 3 ) , a n d t o t h e w a s t e d e f f o r t r e s u l t i n g f r o m
t h e l a c k o f a n a d v a n c e t e s t p l a n t o e f f i c i e n t l y g u i d e t e s t i n g
a c t i v i t i e s .
In a d d i t i o n , m o s t t e s t i n g i s s t i l l a t e d i o u s m a n u a l p r o c e s s
w h i c h i s e r r o r - p r o n e i n i t s e l f . Th e r e a r e f e w e f f e c t i v e c r i -
t e r i a u s e d f o r a n s w e r i n g t h e q u e s t i o n , " Ho w m u c h t e s t i n g
i s e n o u g h ? " e x c e p t t h e u s u a l " w h e n t h e b u d g e t ( o r
s c h e d u l e ) r u n s o u t ." Ho w e v e r , m o r e a n d m o r e o r g a n i z a -
t i o n s a r e n o w u s i n g d i s c i p l i n e d t e s t p l a n n i n g a n d s o m e
o b j e c t i v e c r i t e r i a s u c h a s " e x e r c i s e e v e r y i n s t r u c t i o n " o r
" e x e r c i s e e v e r y b r a n c h ," o f t e n w i t h t h e a i d o f a u t o m a t e d
t e s t m o n i t o r i n g t o o l s a n d t e s t c a s e p l a n n i n g a i d s . Bu t o t h e r
t e c h n o l o g i e s , s u c h a s m a t h e m a t i c a l p r o o f t e c h n i q u e s , h a v e
b a r e l y b e g u n t o p e n e t r a t e t h e w o r l d o f p r o d u c t i o n s o f t -
w a r e .
B. Cu r r e n t F r o n t i e r Te c h n o l o g y
1 ) So f t w a r e Re l i a b i l i t y Mo d e l s a n d Ph e n o m e n o l o g y :
In i t i a l l y , a t t e m p t s t o p r e d i c t s o f t w a r e r e l i a b i l i t y ( t h e
p r o b a b i l i t y o f f u t u r e s a t i s f a c t o r y o p e r a t i o n o f t h e s o f t w a r e )
w e r e m a d e b y a p p l y i n g m o d e l s d e r i v e d f r o m h a r d w a r e
r e l i a b i l i t y a n a l y s i s a n d f i t t i n g t h e m t o o b s e r v e d s o f t w a r e
e r r o r r a t e s [ 5 5 ] . Th e s e m o d e l s w o r k e d a t t i m e s , b u t o f t e n
w e r e u n a b l e t o e x p l a i n a c t u a l e x p e r i e n c e d e r r o r p h e n o m -
e n a . Th i s w a s p r i m a r i l y b e c a u s e o f f u n d a m e n t a l d i f f e r -
e n c e s b e t w e e n s o f t w a r e p h e n o m e n o l o g y a n d t h e h a r d -
w a r e - o r i e n t e d a s s u m p t i o n s o n w h i c h t h e m o d e l s w e r e
b a s e d . F o r e x a m p l e , s o f t w a r e c o m p o n e n t s d o n o t d e g r a d e
d u e t o w e a r o r f a t i g u e ; n o i m p e r f e c t i o n o r v a r i a t i o n s a r e
i n t r o d u c e d i n m a k i n g a d d i t i o n a l c o p i e s o f a p i e c e o f s o f t -
w a r e ( e x c e p t p o s s i b l y f o r a c l a s s o f e a s y - t o - c h e c k c o p y i n g
e r r o r s ) ; r e p a i r o f a s o f t w a r e f a u l t g e n e r a l l y r e s u l t s i n a
d i f f e r e n t s o f t w a r e c o n f i g u r a t i o n t h a n p r e v i o u s l y , u n l i k e
m o s t h a r d w a r e r e p l a c e m e n t r e p a i r s .
Mo d e l s a r e n o w b e i n g d e v e l o p e d w h i c h p r o v i d e e x p l a -
n a t i o n s o f t h e p r e v i o u s e r r o r h i s t o r i e s i n t e r m s o f a p p r o -
p r i a t e s o f t w a r e p h e n o m e n o l o g y . Th e y a r e b a s e d o n a v i e w
o f a s o f t w a r e p r o g r a m a s a m a p p i n g f r o m a s p a c e o f i n p u t s
i n t o a s p a c e o f o u t p u t s [ 5 6 ] , o f p r o g r a m o p e r a t i o n a s t h e
p r o c e s s i n g o f a s e q u e n c e o f p o i n t s i n t h e i n p u t s p a c e , d i s -
t r i b u t e d a c c o r d i n g t o a n o p e r a t i o n a l p r o f i l e [ 5 7 ] , a n d o f
t e s t i n g a s a s a m p l i n g o f p o i n t s f r o m t h e i n p u t s p a c e [ 5 6 ]
( s e e F i g . 5 ) . Th i s a p p r o a c h e n c o u n t e r s s e v e r e p r o b l e m s o f
s c a l e o n l a r g e p r o g r a m s , b u t c a n b e u s e d c o n c e p t u a l l y a s
a m e a n s o f a p p r o p r i a t e l y c o n d i t i o n i n g t i m e - d r i v e n r e l i -
a b i l i t y m o d e l s [ 5 8 ] . St i l l , w e a r e a l o n g w a y o f f f r o m h a v i n g
t r u l y r e l i a b l e r e l i a b i l i t y - e s t i m a t i o n m e t h o d s f o r s o f t -
w a r e .
2 ) So f t w a r e Er r o r Da t a : Ad d i t i o n a l i n s i g h t s i n t o r e l i -
a b i l i t y e s t i m a t i o n h a v e c o m e f r o m a n a l y z i n g t h e i n c r e a s i n g
d a t a b a s e o f s o f t w a r e e r r o r s . F o r e x a m p l e , t h e f a c t t h a t t h e
d i s t r i b u t i o n s o f s e r i o u s s o f t w a r e e r r o r s a r e d i s s i m i l a r f r o m
t h e d i s t r i b u t i o n s o f m i n o r e r r o r s [ 5 9 ] m e a n s t h a t w e n e e d
t o d e f i n e " e r r o r s " v e r y c a r e f u l l y w h e n u s i n g r e l i a b i l i t y
p r e d i c t i o n m o d e l s . F u r t h e r , a n o t h e r s t u d y [ 6 0 ] f o u n d t h a t
t h e r a t e s o f f i x i n g s e r i o u s e r r o r s a n d o f f i x i n g m i n o r e r r o r s
v a r y w i t h m a n a g e m e n t d i r e c t i o n . ( " Cl o s e o u t a l l p r o b l e m s
q u i c k l y " g e n e r a l l y g e t s m i n o r s i m p l e e r r o r s f i x e d v e r y
q u i c k l y , a s c o m p a r e d t o " G e t t h e s e r i o u s p r o b l e m s f i x e d
f i r s t ." )
Ot h e r i n s i g h t s a f f o r d e d b y s o f t w a r e d a t a c o l l e c t i o n i n -
c l u d e b e t t e r a s s e s s m e n t s o f t h e r e l a t i v e e f f l c a c y o f v a r i o u s
s o f t w a r e r e l i a b i l i t y t e c h n i q u e s [ 4 ] , [ 1 9 ] , [ 6 0 1 , i d e n t i f i c a t i o n
o f t h e r e q u i r e m e n t s a n d d e s i g n p h a s e s a s k e y l e v e r a g e
p o i n t s f o r c o s t s a v i n g s b y e l i m i n a t i n g e r r o r s e a r l i e r ( F i g s .
2 a n d 3 ) , a n d g u i d e l i n e s f o r o r g a n i z i n g t e s t e f f o r t s ( f o r
e x a m p l e , o n e r e c e n t a n a l y s i s i n d i c a t e d t h a t o v e r h a l f t h e
e r r o r s w e r e e x p e r i e n c e d w h e n t h e s o f t w a r e w a s h a n d l i n g
d a t a s i n g u l a r i t i e s a n d e x t r e m e p o i n t s [ 6 0 ] ) . So f a r , h o w -
e v e r , t h e p r o l i f e r a t i o n o f d e f i n i t i o n s o f v a r i o u s t e r m s ( e r r o r ,
d e s i g n p h a s e , l o g i c e r r o r , v a l i d a t i o n t e s t ) , s t i l l m a k e i t e x -
t r e m e l y d i f f i c u l t t o c o m p a r e e r r o r d a t a f r o m d i f f e r e n t
s o u r c e s . So m e e f f o r t s t o e s t a b l i s h a u n i f i e d s o f t w a r e r e l i -
a b i l i t y d a t a b a s e a n d a s s o c i a t e d s t a n d a r d s , t e r m i n o l o g y ,
a n d d a t a c o l l e c t i o n p r o c e d u r e s a r e n o w u n d e r w a y a t USAF
Ro m e Ai r De v e l o p m e n t Ce n t e r , a n d w i t h i n t h e IEEE
Te c h n i c a l Co m m i t t e e o n So f t w a r e En g i n e e r i n g .
3 ) Au t o m a t e d Ai d s : Le t u s s k e t c h t h e m a i n s t e p s o f
t e s t i n g b e t w e e n t h e p o i n t t h e c o d e h a s b e e n w r i t t e n a n d
t h e p o i n t i t i s p r o n o u n c e d a c c e p t a b l e f o r u s e , a n d d e s c r i b e
f o r e a c h s t o p t h e m a i n t y p e s o f a u t o m a t e d a i d s w h i c h h a v e
b e e n f o u n d h e l p f u l . Mo r e d e t a i l e d d i s c u s s i o n o f t h e s e a i d s
c a n b e f o u n d i n t h e s u r v e y s b y Re i f e r [ 6 1 ] a n d Ra m a -
m o o r t h y a n d Ho [ 6 2 ] w h i c h i n t u r n h a v e r e f e r e n c e s t o i n -
d i v i d u a l c o n t r i b u t i o n s t o t h e f i e l d .
a ) St a t i c c o d e a n a l y s i s : Au t o m a t e d a i d s h e r e i n c l u d e
t h e u s u a l c o m p i l e r d i a g n o s t i c s , p l u s e x t e n s i o n s i n v o l v i n g
m o r e d e t a i l e d d a t a - t y p e c h e c k i n g . Co d e a u d i t o r s c h e c k f o r
1 2 3 3
IEEE TRANSACTIONS ON COMPUTERS, DECEMBER 1 9 7 6
s t a n d a r d s c o m p l i a n c e , a n d c a n a l s o p e r f o r m v a r i o u s
t y p e - c h e c k i n g f u n c t i o n s . Co n t r o l f l o w a n d r e a c h a b i l i t y
a n a l y s i s i s d o n e b y s t r u c t u r a l a n a l y s i s p r o g r a m s ( f l o w
c h a r t e r s h a v e b e e n u s e d f o r s o m e o f t h e e l e m e n t a r y c h e c k s
h e r e , " s t r u c t u r i z e r s " c a n a l s o b e h e l p f u l ) . Ot h e r u s e f u l
s t a t i c a n a l y s i s t o o l s p e r f o r m s e t - u s e a n a l y s i s o f d a t a e l e -
m e n t s , s i n g u l a r i t y a n a l y s i s , u n i t s c o n s i s t e n c y a n a l y s i s , d a t a
b a s e c o n s i s t e n c y c h e c k i n g , a n d d a t a - v e r s u s - c o d e c o n s i s -
t e n c y c h e c k i n g .
b ) Te s t c a s e p r e p a r a t i o n : Ex t e n s i o n s t o s t r u c t u r a l
a n a l y s i s p r o g r a m s p r o v i d e a s s i s t a n c e i n c h o o s i n g d a t a
v a l u e s w h i c h w i l l m a k e t h e p r o g r a m e x e c u t e a l o n g a d e -
s i r e d p a t h .. At t e m p t s h a v e b e e n m a d e t o a u t o m a t e t h e
g e n e r a t i o n o f s u c h d a t a v a l u e s ; t h e y c a n g e n e r a l l y s u c c e e d
f o r s i m p l e c a s e s , b u t r u n i n t o d i f f i c u l t y i n h a n d l i n g l o o p s
o r b r a n c h i n g o n c o m p l e x c a l c u l a t e d v a l u e s ( e .g ., t h e r e s u l t s
o f n u m e r i c a l i n t e g r a t i o n ) . F u r t h e r , t h e s e p r o g r a m s o n l y
h e l p g e n e r a t e t h e i n p u t s ; t h e t e s t e r m u s t s t i l l c a l c u l a t e t h e
e x p e c t e d o u t p u t s h i m s e l f .
An o t h e r s e t o f t o o l s w i l l a u t o m a t i c a l l y i n s e r t i n s t r u -
m e n t a t i o n t o v e r i f y t h a t a d e s i r e d p a t h h a s i n d e e d b e e n
e x e r c i s e d i n t h e t e s t . A l i m i t e d c a p a b i l i t y e x i s t s f o r a u t o -
m a t i c a l l y d e t e r m i n i n g t h e m i n i m u m n u m b e r o f t e s t c a s e s
r e q u i r e d t o e x e r c i s e a l l t h e c o d e . Bu t , a s y e t , t h e r e i s n o t o o l
w h i c h h e l p s t o d e t e r m i n e t h e m o s t a p p r o p r i a t e s e q u e n c e
i n w h i c h t o r u n a s e r i e s o f t e s t s .
c ) Te s t m o n i t o r i n g a n d o u t p u t c h e c k i n g : Ca p a b i l i -
t i e s h a v e b e e n d e v e l o p e d a n d u s e d f o r v a r i o u s k i n d s o f
d y n a m i c d a t a - t y p e
c h e c k i n g
a n d a s s e r t i o n c h e c k i n g , a n d
f o r t i m i n g a n d p e r f o r m a n c e a n a l y s i s . Te s t o u t p u t p o s t -
p r o c e s s i n g a i d s i n c l u d e o u t p u t c o m p a r a t o r s a n d e x c e p t i o n
r e p o r t c a p a b i l i t i e s , a n d t e s t - o r i e n t e d d a t a r e d u c t i o n a n d
r e p o r t g e n e r a t i o n p a c k a g e s .
d ) F a u l t i s o l a t i o n , d e b u g g i n g : Be s i d e s t h e t r a d i t i o n a l
t o o l s - t h e c o r e d u m p , t h e t r a c e , t h e s n a p s h o t , a n d t h e
b r e a k p o i n t - s e v e r a l c a p a b i l i t i e s h a v e b e e n d e v e l o p e d f o r
i n t e r a c t i v e r e p l a y o r b a c k t r a c k i n g o f t h e p r o g r a m ' s e x e -
c u t i o n . Th i s i s s t i l l a d i f f l c u l t a r e a , a n d o n l y a r e l a t i v e l y f e w
a d v a n c e d c o n c e p t s h a v e p r o v e d g e n e r a l l y u s e f u l .
e ) Re t e s t i n g ( o n c e a p r e s u m e d f i x h a s b e e n m a d e ) :
Te s t d a t a m a n a g e m e n t s y s t e m s ( f o r t h e c o d e , t h e i n p u t
d a t a , a n d t h e c o m p a r i s o n o u t p u t d a t a ) h a v e b e e n s h o w n
t o b e m o s t v a l u a b l e h e r e , a l o n g w i t h c o m p a r a t o r s t o c h e c k
f o r t h e d i f f e r e n c e s i n c o d e , i n p u t s , a n d o u t p u t s b e t w e e n
t h e o r i g i n a l a n d t h e m o d i f i e d p r o g r a m a n d t e s t c a s e . A
p r o m i s i n g e x p e r i m e n t a l t o o l p e r f o r m s a c o m p a r a t i v e
s t r u c t u r e a n a l y s i s o f t h e o r i g i n a l a n d m o d i f i e d c o d e , a n d
i n d i c a t e s w h i c h t e s t c a s e s n e e d t o b e r e r u n .
f ) In t e g r a t i o n o f r o u t i n e s i n t o s y s t e m s : In g e n e r a l ,
a u t o m a t e d a i d s f o r t h i s p r o c e s s a r e j u s t l a r g e r s c a l e v e r -
s i o n s o f t h e t e s t d a t a m a n a g e m e n t s y s t e m s a b o v e . So m e
a d d i t i o n a l c a p a b i l i t i e s e x i s t f o r i n t e r f a c e c o n s i s t e n c y
c h e c k i n g , e .g ., o n t h e l e n g t h a n d f o r m o f p a r a m e t e r l i s t s o r
d a t a b a s e r e f e r e n c e s . To p - d o w n d e v e l o p m e n t a i d s a r e a l s o
h e l p f u l i n t h i s r e g a r d .
g ) St o p p i n g : So m e p a r t i a l c r i t e r i a f o r t h o r o u g h n e s s
o f t e s t i n g c a n a n d h a v e b e e n a u t o m a t i c a l l y m o n i t o r e d .
To o l s e x i s t w h i c h k e e p a c u m u l a t i v e t a l l y o f t h e n u m b e r
o r p e r c e n t o f t h e i n s t r u c t i o n s o r b r a n c h e s w h i c h h a v e b e e n
e x e r c i s e d d u r i n g t h e t e s t p r o g r a m , a n d i n d i c a t e t o t h e
t e s t e r w h a t b r a n c h c o n d i t i o n s m u s t b e s a t i s f i e d i n o r d e r
t o c o m p l e t e l y e x e r c i s e a l l t h e c o d e o r b r a n c h e s . Of c o u r s e ,
t h e s e a r e f a r f r o m c o m p l e t e c r i t e r i a f o r d e t e r m i n i n g w h e n
t o s t o p t e s t i n g ; t h e c o m p l e t e n e s s q u e s t i o n i s t h e s u b j e c t
o f t h e n e x t s e c t i o n .
4 ) Te s t Su f f i c i e n c y a n d Pr o g r a m Pr o v i n g : If a p r o -
g r a m ' s i n p u t s p a c e a n d o u t p u t s p a c e a r e f i n i t e ( w h e r e t h e
i n p u t s p a c e i n c l u d e s n o t o n l y a l l p o s s i b l e i n c o m i n g i n p u t s ,
b u t a l s o a l l p o s s i b l e v a l u e s i n t h e p r o g r a m ' s d a t a b a s e ) ,
t h e n o n e c a n c o n s t r u c t a s e t o f " b l a c k b o x " t e s t s ( o n e f o r
e a c h p o i n t i n t h e i n p u t s p a c e ) w h i c h c a n s h o w c o n c l u s i v e l y
t h a t t h e p r o g r a m i s c o r r e c t ( t h a t i t s b e h a v i o r m a t c h e s i t s
s p e c i f i c a t i o n ) .
In g e n e r a l , t h o u g h , a p r o g r a m ' s i n p u t s p a c e i s i n f i n i t e ; -
f o r e x a m p l e , i t m u s t g e n e r a l l y p r o v i d e f o r r e j e c t i n g u n a c -
c e p t a b l e i n p u t s . In t h i s c a s e , a f i n i t e s e t o f b l a c k - b o x t e s t s
i s n o t a s u f f i c i e n t d e m o n s t r a t i o n o f t h e p r o g r a m ' s c o r -
r e c t n e s s ( s i n c e , f o r a n y i n p u t x , o n e m u s t a s s u r e t h a t t h e
p r o g r a m d o e s n o t w r o n g l y t r e a t i t a s a s p e c i a l c a s e ) . Th u s ,
t h e d e m o n s t r a t i o n o f c o r r e c t n e s s i n t h i s c a s e i n v o l v e s s o m e
f o r m a l a r g u m e n t ( e .g ., a p r o o f u s i n g i n d u c t i o n ) t h a t t h e
d y n a m i c p e r f o r m a n c e o f t h e p r o g r a m i n d e e d p r o d u c e s t h e
s t a t i c t r a n s f o r m a t i o n o f t h e i n p u t s p a c e i n d i c a t e d b y t h e
f o r m a l s p e c i f i c a t i o n f o r t h e p r o g r a m . F o r f i n i t e p o r t i o n s
o f t h e i n p u t s p a c e , a s u c c e s s f u l e x h a u s t i v e t e s t o f a l l c a s e s
c a n b e c o n s i d e r e d a s a s a t i s f a c t o r y f o r m a l a r g u m e n t . So m e
g o o d i n i t i a l w o r k i n s o r t i n g o u t t h e c o n d i t i o n s u n d e r w h i c h
t e s t i n g i s e q u i v a l e n t t o p r o o f o f a p r o g r a m ' s c o r r e c t n e s s h a s
b e e n d o n e b y G o o d e n o u g h a n d G e r h a r t [ 6 3 ] a n d i n a r e v i e w
o f t h e i r w o r k b y We g n e r [ 6 4 ] .
5 ) Sy m b o l i c Ex e c u t i o n : An a t t r a c t i v e i n t e r m e d i a t e s t e p
b e t w e e n p r o g r a m t e s t i n g a n d p r o v i n g i s " s y m b o l i c e x e -
c u t i o n ," a m a n u a l o r a u t o m a t e d p r o c e d u r e w h i c h o p e r a t e s
o n s y m b o l i c i n p u t s ( e .g ., v a r i a b l e n a m e s ) t o p r o d u c e
s y m b o l i c o u t p u t s . Se p a r a t e c a s e s a r e g e n e r a t e d f o r d i f -
f e r e n t e x e c u t i o n p a t h s . If t h e r e a r e a f i n i t e n u m b e r o f s u c h
p a t h s , s y m b o l i c e x e c u t i o n c a n b e u s e d t o d e m o n s t r a t e
c o r r e c t n e s s , u s i n g a f i n i t e s y m b o l i c i n p u t s p a c e a n d o u t p u t
s p a c e . In g e n e r a l , t h o u g h , o n e c a n n o t g u a r a n t e e a f i n i t e
n u m b e r o f p a t h s . Ev e n s o , s y m b o l i c e x e c u t i o n c a n b e q u i t e
v a l u a b l e a s a n a i d t o e i t h e r p r o g r a m t e s t i n g o r p r o v i n g .
Tw o f a i r l y p o w e r f u l a u t o m a t e d s y s t e m s f o r s y m b o l i c e x -
e c u t i o n e x i s t , t h e EF F IG Y s y s t e m [ 6 5 ] a n d t h e SELECT
s y s t e m [ 6 6 ] .
6 ) Pr o g r a m Pr o v i n g ( Pr o g r a m Ve r i f i c a t i o n ) : Pr o g r a m
p r o v i n g ( i n c r e a s i n g l y r e f e r r e d t o a s p r o g r a m v e r i f i c a t i o n )
i n v o l v e s e x p r e s s i n g t h e p r o g r a m s p e c i f i c a t i o n s a s a l o g i c a l
p r o p o s i t i o n , e x p r e s s i n g i n d i v i d u a l p r o g r a m e x e c u t i o n
s t a t e m e n t s a s l o g i c a l p r o p o s i t i o n s , e x p r e s s i n g p r o g r a m
b r a n c h i n g a s a n e x p a n s i o n i n t o s e p a r a t e c a s e s , a n d p e r -
f o r m i n g l o g i c a l t r a n s f o r m a t i o n s o n t h e p r o p o s i t i o n s i n a
w a y w h i c h e n d s b y d e m o n s t r a t i n g t h e e q u i v a l e n c e o f t h e
p r o g r a m a n d i t s s p e c i f i c a t i o n . Po t e n t i a l l y i n f i n i t e l o o p s
c a n b e h a n d l e d b y i n d u c t i v e r e a s o n i n g .
In g e n e r a l , n o n t r i v i a l p r o g r a m s a r e v e r y c o m p l i c a t e d a n d
t i m e - c o n s u m i n g t o p r o v e . In 1 9 7 3 , i t w a s e s t i m a t e d t h a t
1 2 3 4
BOEHM: SOF TWARE ENG INEERING
a b o u t o n e m a n - m o n t h o f e x p e r t e f f o r t w a s r e q u i r e d t o
p r o v e 1 0 0 l i n e s o f c o d e [ 6 7 ] . Th e l a r g e s t p r o g r a m t o b e
p r o v e d c o r r e c t t o d a t e c o n t a i n e d a b o u t 2 0 0 0 s t a t e m e n t s
[ 6 8 ] . Ag a i n , a u t o m a t i o n c a n h e l p o u t o n s o m e o f t h e c o m -
p l i c a t i o n s . So m e a u t o m a t e d v e r i f i c a t i o n s y s t e m s e x i s t ,
n o t a b l y t h o s e o f Lo n d o n e t a l . [ 6 9 ] a n d Lu c k h a m e t a l .
[ 7 0 ] . In g e n e r a l , s u c h s y s t e m s d o n o t w o r k o n p r o g r a m s i n
t h e m o r e c o m m o n l a n g u a g e s s u c h a s F o r t r a n o r Co b o l .
Th e y w o r k i n l a n g u a g e s s u c h a s Pa s c a l [ 4 5 ] , w h i c h h a s
( u n l i k e F o r t r a n o r Co b o l ) a n a x i o m a t i c d e f i n i t i o n [ 7 1 ] a l -
l o w i n g , c l e a n e x p r e s s i o n o f p r o g r a m s t a t e m e n t s a s l o g i c a l
p r o p o s i t i o n s . An e x c e l l e n t s u r v e y o f p r o g r a m v e r i f i c a t i o n
t e c h n o l o g y h a s b e e n g i v e n b y Lo n d o n [ 7 2 ] .
Be s i d e s s i z e a n d l a n g u a g e l i m i t a t i o n s , t h e r e a r e o t h e r
f a c t o r s w h i c h l i m i t t h e u t i l i t y o f p r o g r a m p r o v i n g t e c h -
n i q u e s . Co m p u t a t i o n s o n " r e a l " v a r i a b l e s i n v o l v i n g t r u n -
c a t i o n a n d r o u n d o f f e r r o r s a r e v i r t u a l l y i m p o s s i b l e t o a n -
a l y z e w i t h a d e q u a t e a c c u r a c y f o r m o s t n o n t r i v i a l p r o g r a m s .
Pr o g r a m s w i t h n o n f o r m a l i z a b l e i n p u t s ( e .g ., f r o m a s e n s o r
w h e r e o n e h a s j u s t a r o u g h i d e a o f i t s b i a s , s i g n a l - t o - n o i s e
r a t i o , e t c .) a r e i m p o s s i b l e t o h a n d l e . An d , o f c o u r s e , p r o -
g r a m s c a n b e p r o v e d t o b e c o n s i s t e n t w i t h a s p e c i f i c a t i o n
w h i c h i s i t s e l f i n c o r r e c t w i t h r e s p e c t t o t h e s y s t e m ' s p r o p e r
f u n c t i o n i n g . F i n a l l y , t h e r e i s n o g u a r a n t e e t h a t t h e p r o o f
i s c o r r e c t o r c o m p l e t e ; i n f a c t , m a n y p u b l i s h e d " p r o o f s "
h a v e s u b s e q u e n t l y b e e n d e m o n s t r a t e d t o h a v e h o l e s i n
t h e m [ 6 3 ] .
It h a s b e e n s a i d a n d o f t e n r e p e a t e d t h a t " t e s t i n g c a n b e
u s e d t o d e m o n s t r a t e t h e p r e s e n c e o f e r r o r s b u t n e v e r t h e i r
a b s e n c e " [ 7 3 ] . Un f o r t u n a t e l y , i f w e m u s t d e f i n e " e r r o r s "
t o i n c l u d e t h o s e i n c u r r e d b y t h e t w o l i m i t a t i o n s a b o v e
( e r r o r s i n s p e c i f i c a t i o n s a n d e r r o r s i n p r o o f s ) , i t m u s t b e
a d m i t t e d t h a t " p r o g r a m p r o v i n g c a n b e u s e d t o d e m o n -
s t r a t e t h e p r e s e n c e o f e r r o r s b u t n e v e r t h e i r a b s e n c e ."
7 ) F a u l t - To l e r a n c e : Pr o g r a m s d o n o t h a v e t o b e
e r r o r - f r e e t o b e r e l i a b l e . If o n e c o u l d j u s t d e t e c t e r r o n e o u s
c o m p u t a t i o n s a s t h e y o c c u r a n d c o m p e n s a t e f o r t h e m , o n e
c o u l d a c h i e v e r e l i a b l e o p e r a t i o n . Th i s i s t h e r a t i o n a l e b e -
h i n d s c h e m e s f o r f a u l t - t o l e r a n t s o f t w a r e . Un f o r t u n a t e l y ,
b o t h d e t e c t i o n a n d c o m p e n s a t i o n a r e f o r m i d a b l e p r o b l e m s .
So m e p r o g r e s s h a s b e e n m a d e i n t h e c a s e o f s o f t w a r e d e -
t e c t i o n a n d c o m p e n s a t i o n f o r h a r d w a r e e r r o r s ; s e e , f o r
e x a m p l e , t h e a r t i c l e s b y Wu l f [ 7 4 1 a n d G o l d b e r g [ 7 5 ] . F o r
s o f t w a r e e r r o r s , Ra n d e l l h a s f o r m u l a t e d a c o n c e p t o f s e p -
a r a t e l y - p r o g r a m m e d , a l t e r n a t e " r e c o v e r y b l o c k s " [ 7 6 1 . It
a p p e a r s a t t r a c t i v e f o r p a r t s o f t h e e r r o r c o m p e n s a t i o n
a c t i v i t y , b u t i t i s s t i l l t o o e a r l y t o t e l l h o w w e l l i t w i l l h a n d l e
t h e e r r o r d e t e c t i o n p r o b l e m , o r w h a t t h e p r i c e w i l l b e i n
p r o g r a m s l o w d o w n .
C. Tr e n d s
As w e c o n t i n u e t o c o l l e c t a n d a n a l y z e m o r e a n d m o r e
d a t a o n h o w , w h e n , w h e r e , a n d w h y p e o p l e m a k e s o f t w a r e
e r r o r s , w e w i l l g e t a d d e d i n s i g h t s o n h o w t o a v o i d m a k i n g
s u c h e r r o r s , h o w t o o r g a n i z e o u r v a l i d a t i o n s t r a t e g y a n d
t a c t i c s ( n o t o n l y i n t e s t i n g b u t t h r o u g h o u t t h e s o f t w a r e l i f e
c y c l e ) , h o w t o d e v e l o p o r e v a l u a t e n e w a u t o m a t e d a i d s , a n d
h o w t o d e v e l o p u s e f u l m e t h o d s f o r p r e d i c t i n g s o f t w a r e
r e l i a b i l i t y . So m e a u t o m a t e d a i d s , p a r t i c u l a r l y f o r s t a t i c
c o d e c h e c k i n g , a n d f o r s o m e d y n a m i c - t y p e o r a s s e r t i o n
c h e c k i n g , w i l l b e i n t e g r a t e d i n t o f u t u r e p r o g r a m m i n g
l a n g u a g e s a n d c o m p i l e r s . We s h o u l d s e e s o m e a d d e d u s e f u l
c r i t e r i a a n d a s s o c i a t e d a i d s f o r t e s t c o m p l e t e n e s s , p a r t i c -
u l a r l y a l o n g t h e l i n e s o f e x e r c i s i n g " a l l d a t a e l e m e n t s " i n
s o m e a p p r o p r i a t e w a y . Sy m b o l i c e x e c u t i o n c a p a b i l i t i e s w i l l
p r o b a b l y m a k e t h e i r w a y i n t o a u t o m a t e d a i d s f o r t e s t c a s e
g e n e r a t i o n , m o n i t o r i n g , a n d p e r h a p s r e t e s t i n g .
Co n t i n u i n g w o r k i n t o t h e t h e o r y o f s o f t w a r e t e s t i n g
s h o u l d p r o v i d e s o m e r e f i n e d c o n c e p t s o f t e s t v a l i d i t y , r e -
l i a b i l i t y , a n d c o m p l e t e n e s s , p l u s a b e t t e r t h e o r e t i c a l b a s e
f o r s u p p o r t i n g h y b r i d t e s t /p r o o f m e t h o d s o f v e r i f y i n g
p r o g r a m s . Pr o g r a m p r o v i n g t e c h n i q u e s a n d a i d s w i l l b e -
c o m e m o r e p o w e r f u l i n t h e s i z e a n d r a n g e o f p r o g r a m s t h e y
h a n d l e , a n d h o p e f u l l y e a s i e r t o u s e a n d h a r d e r t o m i s u s e .
Bu t m a n y o f t h e i r b a s i c l i m i t a t i o n s w i l l r e m a i n , p a r t i c u -
l a r l y t h o s e i n v o l v i n g r e a l v a r i a b l e s a n d n o n f o r m a l i z a b l e
i n p u t s .
Un f o r t u n a t e l y , m o s t o f t h e s e h e l p f u l c a p a b i l i t i e s w i l l b e
a v a i l a b l e o n l y t o p e o p l e w o r k i n g i n h i g h e r o r d e r l a n g u a g e s .
Mu c h o f t h e p r o g r e s s i n t e s t t e c h n o l o g y w i l l b e u n a v a i l a b l e
t o t h e i n c r e a s i n g n u m b e r o f p e o p l e w h o f i n d t h e m s e l v e s
s p e n d i n g m o r e a n d m o r e t i m e t e s t i n g a s s e m b l y l a n g u a g e
s o f t w a r e w r i t t e n f o r m i n i c o m p u t e r s a n d m i c r o c o m p u t e r s
w i t h p o o r t e s t s u p p o r t c a p a b i l i t i e s . Po w e r f u l c r o s s - c o m -
p i l e r c a p a b i l i t i e s o n l a r g e h o s t m a c h i n e s a n d m i c r o p r o -
g r a m m e d d i a g n o s t i c e m u l a t i o n c a p a b i l i t i e s [ 7 7 ] s h o u l d
p r o v i d e t h e s e p e o p l e s o m e r e l i e f a f t e r a w h i l e , b u t a g r e a t
d e a l o f s o f t w a r e t e s t i n g w i l l r e g r e s s b a c k t o e a r l i e r g e n e r -
a t i o n " d a r k a g e s ."
VII. SOF TWARE MAINTENANCE
A. Sc o p e o f So f t w a r e Ma i n t e n a n c e
So f t w a r e m a i n t e n a n c e i s a n e x t r e m e l y i m p o r t a n t b u t
h i g h l y n e g l e c t e d a c t i v i t y . It s i m p o r t a n c e i s c l e a r f r o m F i g .
1 : a b o u t 4 0 p e r c e n t o f t h e o v e r a l l h a r d w a r e - s o f t w a r e d o l l a r
i s g o i n g i n t o s o f t w a r e m a i n t e n a n c e t o d a y , a n d t h i s n u m b e r
i s l i k e l y t o g r o w t o a b o u t 6 0 p e r c e n t b y 1 9 8 5 . It w i l l c o n -
t i n u e t o g r o w f o r a l o n g t i m e , a s w e c o n t i n u e t o a d d t o o u r
i n v e n t o r y o f c o d e v i a d e v e l o p m e n t a t a f a s t e r r a t e t h a n w e
m a k e c o d e o b s o l e t e .
Th e f i g u r e s a b o v e a r e o n l y v e r y a p p r o x i m a t e , b e c a u s e
o u r o n l y d a t a s o f a r a r e b a s e d o n h i g h l y a p p r o x i m a t e d e f -
i n i t i o n s . It i s h a r d t o c o m e u p w i t h a n u n e x c e p t i o n a l d e f -
i n i t i o n o f s o f t w a r e m a i n t e n a n c e . He r e , w e d e f i n e i t a s " t h e
p r o c e s s o f m o d i f y i n g e x i s t i n g o p e r a t i o n a l s o f t w a r e w h i l e
l e a v i n g i t s p r i m a r y f u n c t i o n s i n t a c t ." It i s u s e f u l t o d i v i d e
s o f t w a r e m a i n t e n a n c e i n t o t w o c a t e g o r i e s : s o f t w a r e
u p d a t e , w h i c h r e s u l t s i n a c h a n g e d f u n c t i o n a l s p e c i f i c a t i o n
f o r t h e s o f t w a r e , a n d s o f t w a r e r e p a i r , w h i c h l e a v e s t h e
f u n c t i o n a l s p e c i f i c a t i o n i n t a c t . A g o o d d i s c u s s i o n o f s o f t -
w a r e r e p a i r i s g i v e n i n t h e p a p e r b y Sw a n s o n [ 7 8 ] , w h o
d i v i d e s i t i n t o t h e s u b c a t e g o r i e s o f c o r r e c t i v e m a i n t e n a n c e
( o f p r o c e s s i n g , p e r f o r m a n c e , o r i m p l e m e n t a t i o n f a i l u r e s ) ,
1 2 3 5
IEEE TRANSACTIONS ON COMPUTERS, DECEMBER 1 9 7 6
MINIMUM- VARIANCE UNBIASED ESTIMATOR .
**.** SPACE
*PICK N { SAY, 1 0 0 0 1 RANDOM, REPRESENTATIVE INPUTS
*PROCESS THE 1 0 0 0 INPUTS, OBTAIN M SAY, 3 ) F AILURES
*THEN R PRO NO F AILURE NEXT RUNI ' N M 0 .9 9 7
OPERATIONAL ESTIMATION PROBLEMS
*SIZ E OF INPUT SPACE PROG RAM
*ACCOUNTING F OR F IXES
*ENSURING RANDOM INPUTS
*ENSURING REPRESENTATIVE INPUTS
OUTPUT
SPACE
F i g . 5 . In p u t s p a c e s a m p l i n g p r o v i d e s a b a s i s f o r s o f t w a r e r e l i a b i l i t y m e a s u r e m e n t .
a d a p t i v e m a i n t e n a n c e ( t o c h a n g e s i n t h e p r o c e s s i n g o r d a t a
e n v i r o n m e n t ) , a n d p e r f e c t i v e m a i n t e n a n c e ( f o r e n h a n c i n g
p e r f o r m a n c e o r m a i n t a i n a b i l i t y ) .
F o r e i t h e r u p d a t e o r r e p a i r , t h r e e m a i n f u n c t i o n s a r e -
i n v o l v e d i n s o f t w a r e m a i n t e n a n c e [ 7 9 ] .
Un d e r s t a n d i n g t h e e x i s t i n g s o f t w a r e : Th i s i m p l i e s t h e
n e e d f o r g o o d d o c u m e n t a t i o n , g o o d t r a c e a b i l i t y b e t w e e n
r e q u i r e m e n t s a n d c o d e , a n d w e l l - s t r u c t u r e d a n d w e l l -
f o r m a t t e d c o d e .
Mo d i f y i n g t h e e x i s t i n g s o f t w a r e : Th i s i m p l i e s t h e n e e d
f o r s o f t w a r e , h a r d w a r e , a n d d a t a s t r u c t u r e s w h i c h a r e e a s y
t o e x p a n d a n d w h i c h m i n i m i z e s i d e e f f e c t s o f c h a n g e s , p l u s
e a s y - t o - u p d a t e d o c u m e n t a t i o n .
Re v a l i d a t i n g t h e m o d i f i e d s o f t w a r e : Th i s i m p l i e s t h e
n e e d f o r s o f t w a r e s t r u c t u r e s w h i c h f a c i l i t a t e s e l e c t i v e r e -
t e s t , a n d a i d s f o r m a k i n g r e t e s t m o r e t h o r o u g h a n d e f f i -
c i e n t .
F o l l o w i n g a s h o r t d i s c u s s i o n o f c u r r e n t p r a c t i c e i n
s o f t w a r e m a i n t e n a n c e , t h e s e t h r e e f u n c t i o n s w i l l b e u s e d
b e l o w a s a f r a m e w o r k f o r d i s c u s s i n g c u r r e n t f r o n t i e r
t e c h n o l o g y i n s o f t w a r e m a i n t e n a n c e .
B. Cu r r e n t Pr a c t i c e
As i n d i c a t e d i n F i g . 6 , p r o b a b l y a b o u t 7 0 p e r c e n t o f t h e
o v e r a l l c o s t o f s o f t w a r e i s s p e n t i n s o f t w a r e m a i n t e n a n c e .
A r e c e n t p a p e r b y El s h o f f [ 8 0 ] i n d i c a t e s t h a t t h e f i g u r e f o r
G e n e r a l Mo t o r s i s a b o u t 7 5 p e r c e n t , a n d t h a t G M i s f a i r l y
t y p i c a l o f l a r g e b u s i n e s s s o f t w a r e a c t i v i t i e s . Da l y [ 5 ] i n d i -
c a t e s t h a t a b o u t 6 0 p e r c e n t o f G TE' s 1 0 - y e a r l i f e c y c l e c o s t s
f o r r e a l - t i m e s o f t w a r e a r e d e v o t e d t o m a i n t e n a n c e . On t w o
Ai r F o r c e c o m m a n d a n d c o n t r o l s o f t w a r e s y s t e m s , t h e
m a i n t e n a n c e p o r t i o n s o f t h e 1 0 - y e a r l i f e c y c l e c o s t s w e r e
a b o u t 6 7 a n d 7 2 p e r c e n t . Of t e n , m a i n t e n a n c e i s n o t d o n e
v e r y e f f i c i e n t l y . On o n e a i r c r a f t c o m p u t e r , s o f t w a r e d e -
v e l o p m e n t c o s t s w e r e r o u g h l y $ 7 5 /i n s t r u c t i o n , w h i l e
m a i n t e n a n c e c o s t s r a n a s h i g h a s $ 4 0 0 0 /i n s t r u c t i o n [ 8 1 ] .
De s p i t e i t s s i z e , s o f t w a r e m a i n t e n a n c e i s a h i g h l y n e -
g l e c t e d a c t i v i t y . In g e n e r a l , l e s s - q u a l i f i e d p e r s o n n e l a r e
a s s i g n e d t o m a i n t e n a n c e t a s k s . Th e r e a r e f e w g o o d g e n e r a l
p r i n c i p l e s a n d f e w s t u d i e s o f t h e p r o c e s s , m o s t o f t h e m
i n c o n c l u s i v e .
F u r t h e r , d a t a p r o c e s s i n g p r a c t i c e s , a r e u s u a l l y o p t i m i z e d
MAINTENANCE DEDELOPMENT
G EN. TEL. + ELECT.
USAF C+C NO. 1
USAF C+C NO. 2
G ENERAL MOTORS
0 2 0 4 0 6 0 s 0
PERCENT OF 1 0 - YEAR LIF E- CYCLE COSTS
1 0 0
F i g . 6 . So f t w a r e l i f e - c y c l e c o s t b r e a k d o w n .
a r o u n d o t h e r c r i t e r i a t h a n m a i n t e n a n c e e f f i c i e n c y . Op t i -
m i z i n g a r o u n d d e v e l o p m e n t c o s t a n d s c h e d u l e c r i t e r i a
g e n e r a l l y l e a d s t o c o m p r o m i s e s i n d o c u m e n t a t i o n , t e s t i n g ,
a n d s t r u c t u r i n g . Op t i m i z i n g a r o u n d h a r d w a r e e f f i c i e n c y
c r i t e r i a g e n e r a l l y l e a d s t o u s e o f a s s e m b l y l a n g u a g e a n d
s k i m p i n g o n h a r d w a r e , b o t h o f w h i c h c o r r e l a t e s t r o n g l y
w i t h i n c r e a s e d s o f t w a r e m a i n t e n a n c e c o s t s [ 1 ] .
C. Cu r r e n t F r o n t i e r Te c h n o l o g y
1 ) Un d e r s t a n d i n g t h e Ex i s t i n g So f t w a r e : Ai d s h e r e
h a v e l a r g e l y b e e n d i s c u s s e d i n p r e v i o u s s e c t i o n s : s t r u c t u r e d
p r o g r a m m i n g , a u t o m a t i c f o r m a t t i n g , a n d c o d e a u d i t o r s
f o r s t a n d a r d s c o m p l i a n c e c h e c k i n g t o e n h a n c e c o d e r e a d -
a b i l i t y ; m a c h i n e - r e a d a b l e r e q u i r e m e n t s a n d d e s i g n l a n -
g u a g e s w i t h t r a c e a b i l i t y s u p p o r t t o a n d f r o m t h e c o d e .
Se v e r a l s y s t e m s e x i s t f o r a u t o m a t i c a l l y u p d a t i n g d o c u -
m e n t a t i o n b y e x c e r p t i n g i n f o r m a t i o n f r o m t h e r e v i s e d c o d e
a n d c o m m e n t c a r d s .
2 ) Mo d i f y i n g t h e Ex i s t i n g So f t w a r e : So m e o f Pa r n a s '
m o d u l a r i z a t i o n g u i d e l i n e s [ 3 2 ] a n d t h e d a t a a b s t r a c t i o n s
o f t h e CLU [ 4 8 ] a n d ALPHARD [ 4 7 ] l a n g u a g e s m a k e i t
e a s i e r t o m i n i m i z e t h e s i d e e f f e c t s o f c h a n g e s . Th e r e m a y
b e a m a i n t e n a n c e p r i c e , h o w e v e r . In t h e p a s t , s o m e s y s t e m s
w i t h h i g h l y c o u p l e d p r o g r a m s a n d a s s o c i a t e d d a t a s t r u c -
1 2 3 6
BOEHM: SOF TWARE ENG INEERING
t u r e s h a v e h a d d i f f i c u l t i e s w i t h d a t a b a s e u p d a t i n g . Th i s
m a y n o t b e a p r o b l e m w i t h t o d a y ' s d a t a d i c t i o n a r y c a p a -
b i l i t i e s , b u t t h e i n t e r a c t i o n s h a v e n o t y e t b e e n i n v e s t i g a t e d .
Ot h e r a i d s t o m o d i f i c a t i o n a r e s t r u c t u r e d c o d e , c o n f i g u -
r a t i o n m a n a g e m e n t t e c h n i q u e s , p r o g r a m m i n g s u p p o r t l i -
b r a r i e s , a n d p r o c e s s c o n s t r u c t i o n s y s t e m s .
3 ) Re v a l i d a t i n g t h e Mo d i f i e d So f t w a r e : Ai d s h e r e w e r e
d i s c u s s e d e a r l i e r u n d e r t e s t i n g ; t h e y i n c l u d e p r i m a r i l y t e s t
d a t a m a n a g e m e n t s y s t e m s , c o m p a r a t o r p r o g r a m s , a n d
p r o g r a m s t r u c t u r e a n a l y z e r s w i t h s o m e l i m i t e d c a p a b i l i t y
f o r s e l e c t i v e r e t e s t a n a l y s i s .
4 ) G e n e r a l Ai d s : On - l i n e i n t e r a c t i v e s y s t e m s h e l p t o
r e m o v e o n e o f t h e m a i n b o t t l e n e c k s i n v o l v e d i n s o f t w a r e
m a i n t e n a n c e : t h e l o n g t u r n a r o u n d t i m e s f o r r e t e s t i n g . In
a d d i t i o n , m a n y o f t h e s e s y s t e m s a r e p r o v i d i n g h e l p f u l
c a p a b i l i t i e s f o r t e x t e d i t i n g a n d s o f t w a r e m o d u l e m a n -
a g e m e n t . Th e y w i l l b e d i s c u s s e d i n m o r e d e t a i l u n d e r
" Ma n a g e m e n t a n d In t e g r a t e d Ap p r o a c h e s " b e l o w . In
g e n e r a l , a g o o d d e a l m o r e w o r k h a s b e e n d o n e o n t h e
m a i n t a i n a b i l i t y a s p e c t s o f d a t a b a s e s a n d d a t a s t r u c t u r e s
t h a n f o r p r o g r a m s t r u c t u r e s ; a g o o d s u r v e y o f d a t a b a s e
t e c h n o l o g y i s g i v e n i n a r e c e n t s p e c i a l i s s u e o f ACM
Co m p u t i n g Su r v e y s [ 8 2 ] .
D. Tr e n d s
Th e i n c r e a s e d c o n c e r n w i t h l i f e c y c l e c o s t s , p a r t i c u l a r l y
w i t h i n t h e U.S. Do D [ 8 3 ] , w i l l f o c u s a g o o d d e a l m o r e a t -
t e n t i o n o n s o f t w a r e m a i n t e n a n c e . Mo r e d a t a c o l l e c t i o n a n d
a n a l y s i s o n t h e g r o w t h d y n a m i c s o f s o f t w a r e s y s t e m s , s u c h
a s t h e Be l a d y - Le h m a n s t u d i e s o f OS/3 6 0 [ 8 4 ] , w i l l b e g i n
t o p o i n t o u t t h e h i g h - l e v e r a g e a r e a s f o r i m p r o v e m e n t .
Ex p l i c i t m e c h a n i s m s f o r c o n f r o n t i n g m a i n t a i n a b i l i t y i s s u e s
e a r l y i n t h e d e v e l o p m e n t c y c l e , s u c h a s t h e r e q u i r e -
m e n t s - p r o p e r t i e s m a t r i x [ 1 8 ] a n d t h e d e s i g n i n s p e c t i o n [ 4 ]
w i l l b e r e f i n e d a n d u s e d m o r e e x t e n s i v e l y . In f a c t , w e m a y
e v o l v e a m o r e g e n e r a l c o n c e p t o f s o f t w a r e q u a l i t y a s s u r -
a n c e ( c u r r e n t l y f o c u s s e d l a r g e l y o n r e l i a b i l i t y c o n c e r n s ) ,
i n v o l v i n g s u c h a c t i v i t i e s a s i n d e p e n d e n t r e v i e w s o f s o f t -
w a r e r e q u i r e m e n t s a n d d e s i g n s p e c i f i c a t i o n s b y e x p e r t s i n
s o f t w a r e m a i n t a i n a b i l i t y . Su c h a c t i v i t i e s w i l l b e e n h a n c e d
c o n s i d e r a b l y w i t h t h e a d v e n t o f m o r e p o w e r f u l c a p a b i l i t i e s
f o r a n a l y z i n g m a c h i n e - r e a d a b l e r e q u i r e m e n t s a n d d e s i g n
s p e c i f i c a t i o n s . F i n a l l y , a d v a n c e s i n a u t o m a t i c p r o g r a m -
m i n g [ 1 4 ] , [ 1 5 ] s h o u l d r e d u c e o r e l i m i n a t e s o m e m a i n t e -
n a n c e a c t i v i t y , a t l e a s t i n s o m e p r o b l e m d o m a i n s .
VIII. SOF TWARE MANAG EMENT AND INTEG RATED
APPROACHES
A. Cu r r e n t Pr a c t i c e
Th e r e a r e m o r e o p p o r t u n i t i e s f o r i m p r o v i n g s o f t w a r e
p r o d u c t i v i t y a n d q u a l i t y i n t h e a r e a o f m a n a g e m e n t t h a n
a n y w h e r e e l s e . Th e d i f f e r e n c e b e t w e e n s o f t w a r e p r o j e c t
s u c c e s s e s a n d f a i l u r e s h a s m o s t o f t e n b e e n t r a c e d t o g o o d
o r p o o r p r a c t i c e s i n s o f t w a r e m a n a g e m e n t . Th e b i g g e s t
s o f t w a r e m a n a g e m e n t p r o b l e m s h a v e g e n e r a l l y b e e n t h e
f o l l o w i n g .
Po o r Pl a n n i n g : G e n e r a l l y , t h i s l e a d s t o l a r g e a m o u n t s
o f w a s t e d e f f o r t a n d i d l e t i m e b e c a u s e o f t a s k s b e i n g u n -
n e c e s s a r i l y p e r f o r m e d , o v e r d o n e , p o o r l y s y n c h r o n i z e d , o r
p o o r l y i n t e r f a c e d .
Po o r Co n t r o l : Ev e n a g o o d p l a n i s u s e l e s s w h e n i t i s n o t
k e p t u p - t o - d a t e a n d u s e d t o m a n a g e t h e p r o j e c t .
Po o r Re s o u r c e Es t i m a t i o n : Wi t h o u t a f i r m i d e a o f h o w
m u c h t i m e a n d e f f o r t a t a s k s h o u l d t a k e , t h e m a n a g e r i s i n
a p o o r p o s i t i o n t o e x e r c i s e c o n t r o l .
Un s u i t a b l e Ma n a g e m e n t Pe r s o n n e l : As a v e r y g e n e r a l
s t a t e m e n t , s o f t w a r e p e r s o n n e l t e n d t o r e s p o n d t o p r o b l e m
s i t u a t i o n s a s d e s i g n e r s r a t h e r t h a n a s m a n a g e r s .
Po o r Ac c o u n t a b i l i t y St r u c t u r e : Pr o j e c t s a r e g e n e r a l l y
o r g a n i z e d a n d r u n w i t h v e r y d i f f u s e d e l i n e a t i o n o f r e -
s p o n s i b i l i t i e s , t h u s e x a c e r b a t i n g a l l t h e a b o v e p r o b l e m s .
In a p p r o p r i a t e Su c c e s s Cr i t e r i a : Mi n i m i z i n g d e v e l o p -
m e n t c o s t s a n d s c h e d u l e s w i l l g e n e r a l l y y i e l d a h a r d - t o -
m a i n t a i n p r o d u c t . Em p h a s i z i n g " p e r c e n t c o d e d " t e n d s t o
g e t p e o p l e c o d i n g e a r l y a n d t o n e g l e c t s u c h k e y a c t i v i t i e s
a s r e q u i r e m e n t s a n d d e s i g n v a l i d a t i o n , t e s t p l a n n i n g , a n d
d r a f t u s e r d o c u m e n t a t i o n .
Pr o c r a s t i n a t i o n o n K e y Ac t i v i t i e s : Th i s i s e s p e c i a l l y
p r e v a l e n t w h e n r e i n f o r c e d b y i n a p p r o p r i a t e s u c c e s s c r i -
t e r i a a s a b o v e .
B. Cu r r e n t F r o n t i e r Te c h n o l o g y
1 ) Ma n a g e m e n t G u i d e l i n e s : Th e r e i s n o l a c k o f u s e f u l
m a t e r i a l t o g u i d e s o f t w a r e m a n a g e m e n t . In g e n e r a l , i t t a k e s
a b o o k - l e n g t h t r e a t m e n t t o a d e q u a t e l y c o v e r t h e i s s u e s .
A n u m b e r o f b o o k s o n t h e s u b j e c t a r e n o w a v a i l a b l e [ 8 5 ]
- [ 9 5 ] ,
b u t f o r v a r i o u s r e a s o n s t h e y h a v e n o t s t r o n g l y i n -
f l u e n c e d s o f t w a r e m a n a g e m e n t p r a c t i c e . So m e o f t h e b o o k s
( e .g ., Br o o k s [ 8 5 ] a n d t h e c o l l e c t i o n s b y Ho r o w i t z [ 8 6 ] ,
We i n w u r m [ 8 7 ] , a n d Bu x t o n , Na u r , a n d Ra n d e l l [ 8 8 ] a r e
c o l l e c t i o n s o f v e r y g o o d a d v i c e , i d e a s , a n d e x p e r i e n c e s , b u t
a r e f r a g m e n t a r y a n d l a c k i n g i n a c o n s i s t e n t , i n t e g r a t e d l i f e
c y c l e a p p r o a c h . So m e o f t h e b o o k s ( e .g ., Me t z g e r [ 8 9 ] , Sh a w
a n d At k i n s [ 9 0 ] , Hi c e e t a l . [ 9 1 ] , Ri d g e a n d J o h n s o n [ 9 2 ] ,
a n d G i l d e r s l e e v e [ 9 3 ] , a r e g o o d o n c h e c k l i s t s a n d p r o c e -
d u r e s b u t ( e x c e p t t o s o m e e x t e n t t h e l a t t e r t w o ) a r e l i g h t
o n t h e h u m a n a s p e c t s o f m a n a g e m e n t , s u c h a s s t a f f i n g ,
m o t i v a t i o n , a n d c o n f l i c t r e s o l u t i o n . We i n b e r g [ 9 4 ] p r o v i d e s
t h e m o s t h e l p o n t h e h u m a n a s p e c t s , a l o n g w i t h Br o o k s
[ 8 5 ] a n d Ar o n [ 9 5 ] , b u t i n t u r n , t h e s e t h r e e b o o k s a r e l i g h t
o n c h e c k l i s t s a n d p r o c e d u r e s . ( A s e c o n d v o l u m e b y Ar o n
i s i n t e n d e d t o c o v e r s o f t w a r e g r o u p a n d p r o j e c t c o n s i d e r -
a t i o n s .) No n e o f t h e b o o k s h a v e a n a d e q u a t e t r e a t m e n t o f
s o m e i t e m s , l a r g e l y b e c a u s e t h e y a r e s o p o o r l y u n d e r s t o o d :
c h i e f a m o n g t h e s e i t e m s a r e s o f t w a r e c o s t a n d r e s o u r c e
e s t i m a t i o n , a n d s o f t w a r e m a i n t e n a n c e .
In t h e a r e a o f s o f t w a r e c o s t e s t i m a t i o n , t h e p a p e r b y
Wo l v e r t o n [ 9 6 ] r e m a i n s t h e m o s t u s e f u l s o u r c e o f h e l p . It
i s s t r o n g l y b a s e d o n t h e n u m b e r o f o b j e c t i n s t r u c t i o n s
( m o d i f i e d b y c o m p l e x i t y , t y p e o f a p p l i c a t i o n , a n d n o v e l t y )
a s t h e d e t e r m i n a n t o f s o f t w a r e c o s t . Th i s i s a k n o w n w e a k
- s p o t , b u t n o t o n e f o r w h i c h a n a c c e p t a b l e i m p r o v e m e n t h a s
s u r f a c e d . On e p o s s i b l e l i n e o f i m p r o v e m e n t m i g h t b e a l o n g
1 2 3 7
IEEE TRANSACTIONS ON COMPUPERS, DECEMBER 1 9 7 6
t h e " s o f t w a r e p h y s i c s " l i n e s b e i n g i n v e s t i g a t e d b y Ha l s t e a d
[ 9 7 ] a n d o t h e r s ; s o m e i n t e r e s t i n g i n i t i a l r e s u l t s h a v e b e e n
o b t a i n e d h e r e , b u t t h e i r u t i l i t y f o r p r a c t i c a l c o s t e s t i m a t i o n
r e m a i n s t o b e d e m o n s t r a t e d . A g o o d r e v i e w o f t h e s o f t w a r e
c o s t e s t i m a t i o n a r e a i s c o n t a i n e d i n [ 9 8 ] .
2 ) Ma n a g e m e n t - Te c h n o l o g y De c o u p l i n g : An o t h e r
d i f f i c u l t y o f t h e a b o v e b o o k s i s t h e d e g r e e t o w h i c h t h e y a r e
d e c o u p l e d f r o m s o f t w a r e t e c h n o l o g y . Ex c e p t f o r t h e Ho -
r o w i t z a n d Ar o n b o o k s , t h e y s a y r e l a t i v e l y l i t t l e a b o u t t h e
u s e o f s u c h a d v a n c e d - t e c h n o l o g y a i d s a s f o r m a l , m a -
c h i n e - r e a d a b l e r e q u i r e m e n t s , t o p - d o w n d e s i g n a p p r o a c h e s ,
s t r u c t u r e d p r o g r a m m i n g , a n d a u t o m a t e d a i d s - t o s o f t w a r e
t e s t i n g .
Un f o r t u n a t e l y , t h e m a n a g e m e n t - t e c h n o l o g y d e c o u p l i n g
w o r k s t h e o t h e r w a y , a l s o . In t h e d e s i g n a r e a , f o r e x a m p l e ,
m o s t t r e a t m e n t s o f t o p - d o w n s o f t w a r e d e s i g n a r e p r e -
s e n t e d a s l o g i c a l e x e r c i s e s i n d e p e n d e n t o f u s e r o r e c o n o m i c
c o n s i d e r a t i o n s . Mo s t a u t o m a t e d a i d s t o s o f t w a r e d e s i g n
p r o v i d e l i t t l e s u p p o r t f o r s u c h m a n a g e m e n t n e e d s a s
c o n f i g u r a t i o n m a n a g e m e n t , t r a c e a b i l i t y t o c o d e o r r e -
q u i r e m e n t s , a n d r e s o u r c e e s t i m a t i o n a n d c o n t r o l . Cl e a r l y ,
t h e r e n e e d s t o b e a c l o s e r c o u p l i n g b e t w e e n t e c h n o l o g y a n d
m a n a g e m e n t t h a n t h i s . So m e c u r r e n t e f f o r t s t o p r o v i d e
i n t e g r a t e d m a n a g e m e n t - t e c h n o l o g y a p p r o a c h e s a r e p r e -
s e n t e d n e x t .
3 ) In t e g r a t e d Ap p r o a c h e s : Se v e r a l m a j o r i n t e g r a t e d
s y s t e m s f o r s o f t w a r e d e v e l o p m e n t a r e c u r r e n t l y i n o p e r a -
t i o n o r u n d e r d e v e l o p m e n t . In g e n e r a l , t h e i r o b j e c t i v e s a r e
s i m i l a r : t o a c h i e v e a s i g n i f i c a n t b o o s t i n s o f t w a r e d e v e l -
o p m e n t e f f i c i e n c y a n d q u a l i t y t h r o u g h t h e s y n e r g i s m o f
a u n i f i e d a p p r o a c h . Ex a m p l e s a r e t h e u t i l i t y o f h a v i n g a
c o m p l e m e n t a r y d e v e l o p m e n t a p p r o a c h ( t o p - d o w n , h i e r -
a r c h i c a l ) a n d s e t o f p r o g r a m m i n g s t a n d a r d s ( h i e r a r c h i c a l ,
s t r u c t u r e d c o d e ) ; t h e a b i l i t y t o p e r f o r m a s o f t w a r e u p d a t e
a n d a t t h e s a m e t i m e p e r f o r m a s e t o f t i m e l y , c o n s i s t e n t
p r o j e c t s t a t u s u p d a t e s ( n e w v e r s i o n n u m b e r o f m o d u l e ,
c l o s u r e o f s o f t w a r e p r o b l e m r e p o r t , u p d a t e d s t a t u s l o g s ) ;
o r s i m p l y t h e i m p r o v e m e n t i n s o f t w a r e s y s t e m i n t e g r a t i o n
a c h i e v e d w h e n a l l p a r t i c i p a n t s a r e u s i n g t h e s a m e d e v e l -
o p m e n t c o n c e p t , g r o u n d r u l e s , a n d s u p p o r t s o f t w a r e .
Th e m o s t f a m i l i a r o f t h e i n t e g r a t e d a p p r o a c h e s i s t h e
IBM " t o p - d o w n s t r u c t u r e d p r o g r a m m i n g w i t h c h i e f p r o -
g r a m m e r t e a m s " c o n c e p t . A g o o d s h o r t d e s c r i p t i o n o f t h e
c o n c e p t i s g i v e n b y Ba k e r [ 4 9 ] ; a n e x t e n s i v e t r e a t m e n t i s
a v a i l a b l e i n a 1 5 - v o l u m e s e r i e s o f r e p o r t s d o n e b y IBM f o r
t h e U.S. Ar m y a n d Ai r F o r c e [ 9 9 ] . Th e t o p - d o w n s t r u c -
t u r e d a p p r o a c h w a s d i s c u s s e d e a r l i e r . Th e Ch i e f Pr o -
g r a m m e r Te a m c e n t e r s a r o u n d a n i n d i v i d u a l ( t h e Ch i e f )
w h o i s r e s p o n s i b l e f o r d e s i g n i n g , c o d i n g , a n d i n t e g r a t i n g
t h e t o p - l e v e l c o n t r o l s t r u c t u r e a s w e l l a s t h e k e y c o m p o -
n e n t s o f t h e t e a m ' s p r o d u c t ; f o r m a n a g i n g a n d m o t i v a t i n g .
t h e t e a m p e r s o n n e l a n d p e r s o n a l l y r e a d i n g a n d r e v i e w i n g
a l l t h e i r c o d e ; a n d a l s o f o r p e r f o r m i n g t r a d i t i o n a l m a n -
a g e m e n t a n d c u s t o m e r i n t e r f a c e f u n c t i o n s . Th e Ch i e f i s
a s s i s t e d b y a Ba c k u p p r o g r a m m e r w h o i s p r e p a r e d a t
a n y t i m e t o t a k e t h e Ch i e f s p l a c e , a Li b r a r i a n w h o h a n d l e s
j o b s u b m i s s i o n , c o n f i g u r a t i o n c o n t r o l , a n d p r o j e c t s t a t u s
a c c o u n t i n g , a n d a d d i t i o n a l p r o g r a m m e r s a n d s p e c i a l i s t s
a s n e e d e d .
In g e n e r a l , t h e o v e r a l l e n s e m b l e o f t e c h n i q u e s h a s b e e n
q u i t e s u c c e s s f u l , b u t t h e Ch i e f Pr o g r a m m e r c o n c e p t h a s
h a d m i x e d r e s u l t s [ 9 9 ] . It i s d i f f i c u l t t o f i n d i n d i v i d u a l s
w i t h e n o u g h e n e r g y a n d t a l e n t t o p e r f o r m a l l t h e a b o v e
f u n c t i o n s . If y o u f i n d o n e , t h e p r o j e c t w i l l d o q u i t e w e l l ;
o t h e r w i s e , y o u h a v e c o n c e n t r a t e d m o s t o f t h e p r o j e c t r i s k
i n a s i n g l e i n d i v i d u a l , w i t h o u t a g o o d w a y o f f i n d i n g o u t
w h e t h e r o r n o t h e i s i n t r o u b l e . Th e Li b r a r i a n a n d Pr o -
g r a m m i n g Su p p o r t Li b r a r y c o n c e p t h a v e g e n e r a l l y b e e n
q u i t e u s e f u l , a l t h o u g h t o d a t e t h e c o n c e p t h a s b e e n o r i -
e n t e d t o w a r d a b a t c h - p r o c e s s i n g d e v e l o p m e n t e n v i r o n -
m e n t .
An o t h e r " s t r u c t u r e d " i n t e g r a t e d a p p r o a c h h a s b e e n
d e v e l o p e d a n d u s e d a t So f Te c h [ 3 8 ] . It i s o r i e n t e d l a r g e l y
a r o u n d a h i e r a r c h i c a l - d e c o m p o s i t i o n d e s i g n a p p r o a c h ,
g u i d e d b y f o r m a l i z e d s e t s o f p r i n c i p l e s ( m o d u l a r i t y , a b -
s t r a c t i o n , l o c a l i z a t i o n , h i d i n g , u n i f o r m i t y , c o m p l e t e n e s s ,
c o n f i r m a b i l i t y ) , p r o c e s s e s ( p u r p o s e , c o n c e p t , m e c h a n i s m ,
n o t a t i o n , u s a g e ) , a n d g o a l s ( m o d u l a r i t y , e f f i c i e n c y , r e l i -
a b i l i t y , u n d e r s t a n d a b i l i t y ) . Th u s , i t a c c o m m o d a t e s s o m e
e c o n o m i c c o n s i d e r a t i o n s , a l t h o u g h i t s a y s l i t t l e a b o u t a n y
o t h e r m a n a g e m e n t c o n s i d e r a t i o n s . It a p p e a r s t o w o r k w e l l
f o r So f Te c h , b u t i n g e n e r a l h a s n o t b e e n w i d e l y a s s i m i l a t e d
e l s e w h e r e .
A m o r e m a n a g e m e n t - i n t e n s i v e i n t e g r a t e d a p p r o a c h i s
t h e TRW s o f t w a r e d e v e l o p m e n t m e t h o d o l o g y e x e m p l i f i e d
i n t h e p a p e r b y Wi l l i a m s [ 5 0 ] a n d t h e TRW So f t w a r e De -
v e l o p m e n t a n d Co n f i g u r a t i o n Ma n a g e m e n t Ma n u a l [ 1 0 0 ] ,
w h i c h h a s b e e n u s e d a s t h e b a s i s f o r s e v e r a l r e c e n t g o v -
e r n m e n t i n - h o u s e s o f t w a r e m a n u a l s . Th i s a p p r o a c h f e a -
t u r e s a c o o r d i n a t e d s e t o f h i g h - l e v e l a n d d e t a i l e d m a n -
a g e m e n t o b j e c t i v e s , a s s o c i a t e d a u t o m a t e d a i d s - s t a n d a r d s
c o m p l i a n c e c h e c k e r s , t e s t t h o r o u g h n e s s c h e c k e r s , p r o c e s s
c o n s t r u c t i o n a i d s , r e p o r t i n g s y s t e m s f o r c o s t , s c h e d u l e , c o r e
a n d t i m e b u d g e t s , p r o b l e m i d e n t i f i c a t i o n a n d c l o s u r e ,
e t c .- a n d u n i f i e d d o c u m e n t a t i o n a n d m a n a g e m e n t d e v i c e s
s u c h a s t h e Un i t De v e l o p m e n t F o l d e r . Po r t i o n s o f t h e
a p p r o a c h a r e s t i l l l a r g e l y m a n u a l , a l t h o u g h a d d i t i o n a l
a u t o m a t i o n i s u n d e r w a y , e .g ., v i a t h e Re q u i r e m e n t s
St a t e m e n t La n g u a g e [ 1 3 ] .
Th e SDC So f t w a r e F a c t o r y [ 1 0 1 ] i s a h i g h l y a m b i t i o u s
a t t e m p t t o a u t o m a t e a n d i n t e g r a t e s o f t w a r e d e v e l o p m e n t
t e c h n o l o g y . It c o n s i s t s o f a n i n t e r f a c e c o n t r o l c o m p o n e n t ,
t h e F a c t o r y Ac c e s s a n d Co n t r o l Ex e c u t i v e ( F ACE) , w h i c h
p r o v i d e s u s e r s a c c e s s t o v a r i o u s t o o l s a n d d a t a b a s e s : a
p r o j e c t p l a n n i n g a n d m o n i t o r i n g s y s t e m , a s o f t w a r e d e -
v e l o p m e n t d a t a b a s e a n d m o d u l e m a n a g e m e n t s y s t e m , a
t o p - d o w n d e v e l o p m e n t s u p p o r t s y s t e m , a s e t o f t e s t t o o l s ,
e t c . As t h e s y s t e m i s s t i l l u n d e r g o i n g d e v e l o p m e n t a n d
p r e l i m i n a r y e v a l u a t i o n , i t i s t o o e a r l y t o t e l l w h a t d e g r e e
o f s u c c e s s i t w i l l h a v e .
An o t h e r f a c t o r y - t y p e a p p r o a c h i s t h e Sy s t e m De s i g n
La b o r a t o r y ( SDL) u n d e r d e v e l o p m e n t a t t h e Na v a l El e c -
t r o n i c s La b o r a t o r y Ce n t e r [ 1 0 2 ] . It c u r r e n t l y c o n s i s t s
p r i m a r i l y o f a f r a m e w o r k w i t h i n w h i c h a w i d e r a n g e o f a i d s
t o s o f t w a r e d e v e l o p m e n t c a n b e i n c o r p o r a t e d . Th e i n i t i a l
i n s t a l l m e n t c o n t a i n s t e x t e d i t o r s , c o m p i l e r s , a s s e m b l e r s ,
a n d m i c r o p r o g r a m m e d e m u l a t o r s . La t e r a d d i t i o n s a r e
e n v i s i o n e d t o i n c l u d e d e s i g n , d e v e l o p m e n t , a n d t e s t a i d s ,
a n d s u c h m a n a g e m e n t a i d s a s p r o g r e s s r e p o r t i n g , c o s t r e -
p o r t i n g , a n d u s e r p r o f i l e a n a l y s i s .
1 2 3 8
BOEHM: SOF TWARE ENG INEERING
SDL i t s e l f i s o n l y a p a r t o f a m o r e a m b i t i o u s i n t e g r a t e d
a p p r o a c h , ARPA' s Na t i o n a l So f t w a r e Wo r k s ( NSW) [ 1 0 2 ] .
Th e i n i t i a l o b j e c t i v e h e r e h a s b e e n t o d e v e l o p a " Wo r k s
Ma n a g e r " w h i c h w i l l a l l o w a s o f t w a r e d e v e l o p e r a t a t e r -
m i n a l t o a c c e s s a w i d e v a r i e t y o f s o f t w a r e d e v e l o p m e n t
t o o l s o n v a r i o u s c o m p u t e r s a v a i l a b l e o v e r t h e ARPANET.
Th u s , a d e v e l o p e r m i g h t l o g i n t o t h e NSW, o b t a i n h i s
s o u r c e c o d e f r o m o n e c o m p u t e r , t e x t - e d i t i t o n a n o t h e r ,
a n d p e r h a p s c o n t i n u e t o h a n d t h e p r o g r a m t o a d d i t i o n a l
c o m p u t e r s f o r t e s t i n s t r u m e n t a t i o n , c o m p i l i n g , e x e c u t i n g ,
a n d p o s t p r o c e s s i n g o f o u t p u t d a t a . Cu r r e n t l y , a n i n i t i a l
v e r s i o n o f t h e Wo r k s Ma n a g e r i s o p e r a t i o n a l , a l o n g w i t h
a f e w t o o l s , b u t i t i s t o o e a r l y t o a s s e s s t h e l i k e l y o u t c o m e
a n d p a y o f f s o f t h e p r o j e c t .
C. Tr e n d s
In t h e a r e a o f m a n a g e m e n t t e c h n i q u e s , w e a r e p r o b a b l y
e n t e r i n g a c o n s o l i d a t i o n p e r i o d , p a r t i c u l a r l y a s t h e U.S.
Do D p r o c e e d s t o i m p l e m e n t t h e u p g r a d e s i n i t s s t a n d a r d s
a n d p r o c e d u r e s c a l l e d f o r i n t h e r e c e n t Do D Di r e c t i v e
5 0 0 0 .2 9 [ 1 0 4 ] . Th e r e s u l t i n g g o v e r n m e n t - i n d u s t r y e f f o r t s
s h o u l d p r o d u c e a s e t o f s o f t w a r e m a n a g e m e n t g u i d e l i n e s
w h i c h a r e m o r e c o n s i s t e n t a n d u p - t o - d a t e w i t h t o d a y ' s
t e c h n o l o g y t h a n t h e o n e s c u r r e n t l y i n u s e . It i s l i k e l y t h a t
t h e y w i l l a l s o b e m o r e c o m p r e h e n s i b l e a n d l e s s e n c u m -
b e r e d w i t h Do D j a r g o n ; t h i s w i l l m a k e t h e m m o r e u s e f u l
t o t h e s o f t w a r e f i e l d i n g e n e r a l .
Ef f o r t s t o d e v e l o p i n t e g r a t e d , s e m i a u t o m a t e d s y s t e m s
f o r s o f t w a r e d e v e l o p m e n t w i l l c o n t i n u e a t a h e a l t h y c l i p .
Th e y w i l l r u n i n t o a n u m b e r o f c h a l l e n g e s w h i c h w i l l
p r o b a b l y t a k e a f e w y e a r s t o w o r k o u t . So m e a r e t e c h n i c a l ,
s u c h a s t h e l a c k o f a g o o d t e c h n o l o g i c a l b a s e f o r d a t a
s t r u c t u r i n g a i d s , a n d t h e f o r m i d a b l e p r o b l e m o f i n t e g r a t i n g
c o m p l e x s o f t w a r e s u p p o r t t o o l s . So m e a r e e c o n o m i c a n d
m a n a g e r i a l , s u c h a s t h e p r o b l e m s o f p r i c i n g s e r v i c e s , p r o -
v i d i n g t o o l w a r r a n t i e s , a n d c o n t r o l l i n g t h e e v o l u t i o n o f t h e
s y s t e m . Ot h e r s a r e e n v i r o n m e n t a l , s u c h a s t h e p r o l i f e r a t i o n
o f m i n i c o m p u t e r s a n d m i c r o c o m p u t e r s , w h i c h w i l l s t r a i n
t h e c a p a b i l i t y o f a n y s u p p o r t s y s t e m t o k e e p u p - t o - d a t e .
Ev e n i f t h e v a r i o u s i n t e g r a t e d s y s t e m s d o n o t a c h i e v e
a l l t h e i r g o a l s , t h e r e w i l l b e a n u m b e r o f m a j o r b e n e f i t s
f r o m t h e e f f o r t . On e i s o f c o u r s e t h a t a l a r g e r n u m b e r o f
s u p p o r t t o o l s w i l l b e c o m e a v a i l a b l e t o a l a r g e r n u m b e r o f
p e o p l e ( a n o t h e r m a j o r c h a n n e l o f t o o l s w i l l s t i l l c o n t i n u e
t o e x p a n d , t h o u g h : t h e i n d e p e n d e n t s o f t w a r e p r o d u c t s
m a r k e t p l a c e ) . Mo r e i m p o r t a n t l y , t h o s e s y s t e m s w h i c h
a c h i e v e a d e g r e e o f c o n c e p t u a l i n t e g r a t i o n ( n o t j u s t a
f r e e - f o r m t o o l b o x ) w i l l e l i m i n a t e a g r e a t d e a l o f t h e s e -
m a n t i c c o n f u s i o n w h i c h c u r r e n t l y s l o w s d o w n o u r g r o u p
e f f o r t s t h r o u g h o u t t h e s o f t w a r e l i f e c y c l e . Wh e r e w e h a v e
l e a r n e d h o w t o t a l k t o e a c h o t h e r a b o u t o u r s o f t w a r e
p r o b l e m s , w e t e n d t o d o p r e t t y w e l l .
IX. CONCLUSIONS
Le t u s n o w a s s e s s t h e c u r r e n t s t a t e o f t h e a r t o f t o o l s a n d
t e c h n i q u e s w h i c h a r e b e i n g u s e d t o s o l v e s o f t w a r e d e v e l -
o p m e n t p r o b l e m s , i n t e r m s o f o u r o r i g i n a l d e f i n i t i o n o f
s o f t w a r e e n g i n e e r i n g : t h e p r a c t i c a l a p p l i c a t i o n o f s c i e n t i f i c
k n o w l e d g e i n t h e d e s i g n a n d c o n s t r u c t i o n o f s o f t w a r e .
TABLE II
Ap p l i c a b i l i t y o f Ex i s t i n g Sc i e n t i f i c Pr i n c i p l e s
So f t w a r e Ha r d w a r e
Di m e n s i o n En g i n e e r i n g En g i n e e r i n g
Sc o p e Ac r o s s So m e p r i n c i p l e s f o r c o m - Ma n y p r i n c i p l e s a p -
Li f e Cy c l e p o n e n t c o n s t r u c t i o n p l i c a b l e a c r o s s
a n d d e t a i l e d d e s i g n , v i r - l i f e c y c l e , e .g .,
t u a l l y n o n e f o r s y s t e m c o m m u n i c a t i o n
d e s i g n a n d i n t e g r a t i o n , t h e o r y , c o n t r o l
e .g ., a l g o r i t h m s , a u t o - t h e o r y .
m a t a t h e o r y .
Sc o p e Ac r o s s So m e p r i n c i p l e s f o r " s y s - Ma n y p r i n c i p l e s a p -
Ap p l i c a t i o n t e m s " s o f t w a r e , v i r t u - p l i c a b l e a c r o s s
a l l y n o n e f o r a p p l i c a - e n t i r e a p p l i c a t i o n
t i o n s s o f t w a r e , e .g ., s y s t e m , e .g ., c o n -
d i s c r e t e m a t h e m a t i c a l t r o l t h e o r y a p p l i -
s t r u c t u r e s . c a t i o n .
En g i n e e r i n g Ve r y f e w p r i n c i p l e s Ma n y p r i n c i p l e s a p -
Ec o n o m i c s w h i c h a p p l y t o s y s t e m p l y w e l l t o s y s t e m
e c o n o m i c s , e .g ., a l g o - e c o n o m i c s , e .g .,
r i t h m s . s t r e n g t h o f m a t e -
r i a l s , o p t i m i z a t i o n ,
a n d c o n t r o l t h e -
o r y .
Re q u i r e d Ve r y f e w p r i n c i p l e s f o r - Ma n y p r i n c i p l e s
Tr a i n i n g m u l a t e d f o r c o n s u m p - f o r m u l a t e d f o r
t i o n b y t e c h n i c i a n s , c o n s u m p t i o n b y
e .g ., s t r u c t u r e d c o d e , t e c h n i c i a n s , e .g .,
b a s i c m a t h p a c k a g e s . h a n d b o o k s f o r
s t r u c t u r a l d e s i g n ,
s t r e s s t e s t i n g ,
m a i n t a i n a b i l i t y .
Ta b l e II p r e s e n t s a s u m m a r y a s s e s s m e n t o f t h e e x t e n t t o
w h i c h c u r r e n t s o f t w a r e e n g i n e e r i n g t e c h n i q u e s a r e b a s e d
o n s o l i d s c i e n t i f i c p r i n c i p l e s ( v e r s u s e m p i r i c a l h e u r i s t i c s ) .
Th e s u m m a r y a s s e s s m e n t c o v e r s f o u r d i m e n s i o n s : t h e
e x t e n t t o w h i c h e x i s t i n g s c i e n t i f i c p r i n c i p l e s a p p l y a c r o s s
t h e e n t i r e s o f t w a r e l i f e c y c l e , a c r o s s t h e e n t i r e r a n g e o f
s o f t w a r e a p p l i c a t i o n s , a c r o s s t h e r a n g e o f e n g i n e e r i n g -
e c o n o m i c a n a l y s e s r e q u i r e d f o r s o f t w a r e d e v e l o p m e n t , a n d
a c r o s s t h e r a n g e o f p e r s o n n e l a v a i l a b l e t o p e r f o r m s o f t w a r e
d e v e l o p m e n t .
F o r p e r s p e c t i v e , a s i m i l a r s u m m a r y a s s e s s m e n t i s p r e -
s e n t e d i n Ta b l e II f o r h a r d w a r e e n g i n e e r i n g . It i s c l e a r f r o m
Ta b l e II t h a t s o f t w a r e e n g i n e e r i n g i s i n a v e r y p r i m i t i v e
s t a t e a s c o m p a r e d t o h a r d w a r e e n g i n e e r i n g , w i t h r e s p e c t
t o i t s r a n g e o f s c i e n t i f i c f o u n d a t i o n s . Th o s e s c i e n t i f i c
p r i n c i p l e s a v a i l a b l e t o s u p p o r t s o f t w a r e e n g i n e e r i n g a d -
d r e s s p r o b l e m s i n a n a r e a w e s h a l l c a l l Ar e a 1 : d e t a i l e d
d e s i g n a n d c o d i n g o f s y s t e m s s o f t w a r e b y e x p e r t s i n a
r e l a t i v e l y e c o n o m i c s - i n d e p e n d e n t c o n t e x t . Un f o r t u n a t e l y ,
t h e m o s t p r e s s i n g s o f t w a r e d e v e l o p m e n t p r o b l e m s a r e i n
a n a r e a w e s h a l l c a l l Ar e a 2 : r e q u i r e m e n t s a n a l y s i s d e s i g n ,
t e s t , a n d m a i n t e n a n c e o f a p p l i c a t i o n s s o f t w a r e b y t e c h -
n i c i a n s 3 i n a n e c o n o m i c s - d r i v e n c o n t e x t . An d i n Ar e a 2 ,
o u r s c i e n t i f i c f o u n d a t i o n s a r e s o s l i g h t t h a t o n e c a n s e r i -
3
F o r e x a m p l e , a r e c e n t s u r v e y o f 1 4 i n s t a l l a t i o n s i n o n e l a r g e o r g a n i -
z a t i o n p r o d u c e d t h e f o l l o w i n g p r o f i l e o f i t s " a v e r a g e c o d e r " : 2 y e a r s c o l -
l e g e - l e v e l e d u c a t i o n , 2 y e a r s s o f t w a r e e x p e r i e n c e , f a m i l i a r i t y w i t h 2
p r o g r a m m i n g l a n g u a g e s a n d 2 a p p l i c a t i o n s , a n d g e n e r a l l y i n t r o v e r t e d ,
s l o p p y , i n f l e x i b l e , " i n o v e r h i s h e a d ," a n d u n d e r m a n a g e d . G i v e n t h e
c o n t i n u i n g i n c r e a s e i n d e m a n d f o r s o f t w a r e p e r s o n n e l , o n e s h o u l d n o t
a s s u m e t h a t t h i s t y p i c a l p r o f i l e w i l l i m p r o v e m u c h . Th i s h a s s t r o n g i m -
p l i c a t i o n s f o r e f f e c t i v e s o f t w a r e e n g i n e e r i n g t e c h n o l o g y w h i c h , l i k e e f -
f e c t i v e s o f t w a r e , m u s t b e w e l l - m a t c h e d t o t h e p e o p l e w h o m u s t u s e i t .
1 2 3 9
IEEE TRANSACTIONS ON COMPUTERS, DECEMBER 1 9 7 6
o u s l y q u e s t i o n w h e t h e r o u r c u r r e n t t e c h n i q u e s d e s e r v e t o
b e c a l l e d " s o f t w a r e e n g i n e e r i n g ."
Ha r d w a r e e n g i n e e r i n g c l e a r l y h a s a v a i l a b l e a b e t t e r
s c i e n t i f i c f o u n d a t i o n f o r a d d r e s s i n g i t s c o u n t e r p a r t o f t h e s e
Ar e a 2 p r o b l e m s . Th i s s h o u l d n o t b e t o o s u r p r i s i n g , s i n c e
" h a r d w a r e s c i e n c e " h a s b e e n p u r s u e d f o r a m u c h l o n g e r
t i m e , i s e a s i e r t o e x p e r i m e n t w i t h , a n d d o e s n o t h a v e t o
e x p l a i n t h e p e r f o r m a n c e o f h u m a n b e i n g s .
Wh a t i s r a t h e r s u r p r i s i n g , a n d a b i t d i s a p p o i n t i n g , i s t h e
r e l u c t a n c e o f t h e c o m p u t e r s c i e n c e f i e l d t o a d d r e s s i t s e l f
t o t h e m o r e d i f f i c u l t a n d d i f f u s e p r o b l e m s i n Ar e a 2 , a s
c o m p a r e d w i t h t h e m o r e t r a c t a b l e Ar e a 1 s u b j e c t s o f a u -
t o m a t a t h e o r y , p a r s i n g , c o m p u t a b i l i t y , e t c . Li k e m o s t e x -
p l o r a t i o n s i n t o t h e r e l a t i v e l y u n k n o w n , t h e r i s k s o f a d -
d r e s s i n g Ar e a 2 r e s e a r c h p r o b l e m s i n t h e r e q u i r e m e n t s
a n a l y s i s , d e s i g n , t e s t a n d m a i n t e n a n c e o f a p p l i c a t i o n s
s o f t w a r e a r e r e l a t i v e l y h i g h e r . Bu t t h e p r i z e s , i n t e r m s o f
p a y o f f t o p r a c t i c a l s o f t w a r e d e v e l o p m e n t a n d m a i n t e -
n a n c e , a r e l i k e l y t o b e f a r m o r e r e w a r d i n g . In f a c t , a s
s o f t w a r e e n g i n e e r i n g b e g i n s t o s o l v e i t s m o r e d i f f i c u l t Ar e a
2 p r o b l e m s , i t w i l l b e g i n t o l e a d t h e w a y t o w a r d s o l u t i o n s
t o t h e m o r e d i f f i c u l t l a r g e - s y s t e m s p r o b l e m s w h i c h c o n -
t i n u e t o b e s e t h a r d w a r e e n g i n e e r i n g .
REF ERENCES
[ 1 ] B. W. Bo e h m , " So f t w a r e a n d i t s i m p a c t : A q u a n t i t a t i v e a s s e s s -
m e n t ," Da t a m a t i o n , p p . 4 8 - 5 9 , Ma y 1 9 7 3 .
[ 2 ] T. A. Do l o t t a e t a l ., Da t a Pr o c e s s i n g i n 1 9 8 0 - 8 5 . Ne w Yo r k :
Wi l e y - In t e r s c i e n c e , 1 9 7 6 .
[ 3 ] P. We g n e r , " Co m p u t e r l a n g u a g e s ," IEEE Tr a n s . Co m p u t ., t h i s
i s s u e , p p . 1 2 0 7 - 1 2 2 5 .
[ 4 ] M. E. F a g a n , " De s i g n a n d c o d e i n s p e c t i o n s a n d p r o c e s s c o n t r o l i n
t h e d e v e l o p m e n t o f p r o g r a m s ," IBM, r e p . IBM- SDD TR- 2 1 .5 7 2 ,
De c . 1 9 7 4 .
[ 5 ] E. B. Da l y , " Ma n a g e m e n t o f s o f t w a r e d e v e l o p m e n t ," IEEE Tr a n s .
So f t w a r e En g ., t o b e p u b l i s h e d .
[ 6 ] W. W. Ro y c e , " So f t w a r e r e q u i r e m e n t s a n a l y s i s , s i z i n g , a n d c o s t i n g ,"
i n Pr a c t i c a l St r a t e g i e s f o r t h e De v e l o p m e n t o f La r g e Sc a l e So f t -
w a r e , E. Ho r o w i t z , Ed . Re a d i n g , MA: Ad d i s o n - We s l e y , 1 9 7 5 .
[ 7 ] T. E. Be l l a n d T. A. Th a y e r , " So f t w a r e r e q u i r e m e n t s : Ar e t h e y a
p r o b l e m ? ," Pr o c . IEEE/ACM 2 n d In t . Co n f . So f t w a r e En g ., Oc t .
1 9 7 6 .
[ 8 ] E. S. Qu a d e , Ed ., An a l y s i s f o r Mi l i t a r y De c i s i o n s . Ch i c a g o , IL:
Ra n d - Mc Na l l y , 1 9 6 4 .
[ 9 ] J . D. Co u g e r a n d R. W. K n a p p , Ed s ; , Sy s t e m An a l y s i s Te c h n i q u e s .
Ne w Yo r k : Wi l e y , 1 9 7 4 .
[ 1 0 ] D. Te i c h r o e w a n d H. Sa y a n i , " Au t o m a t i o n o f s y s t e m b u i l d i n g ,"
Da t a m a t i o n , p p . 2 5 - 3 0 , Au g . 1 5 , 1 9 7 1 .
[ 1 1 ] C. G . Da v i s a n d C. R. Vi c k , " Th e s o f t w a r e d e v e l o p m e n t s y s t e m ,"
i n Pr o c . IEEE/ACM 2 n d In t . Co n f . So f t w a r e En g ., Oc t . 1 9 7 6 .
[ 1 2 ] M. Al f o r d , " A r e q u i r e m e n t s e n g i n e e r i n g m e t h o d o l o g y f o r r e a l - t i m e
p r o c e s s i n g r e q u i r e m e n t s ," i n Pr o c . IEEE/ACM 2 n d In t . Co n f .
So f t w a r e En g ., Oc t . 1 9 7 6 .
[ 1 3 ] T. E. Be l l , D. C. Bi x l e r , a n d M. E. Dy e r , " An e x t e n d a b l e a p p r o a c h
t o c o m p u t e r - a i d e d s o f t w a r e r e q u i r e m e n t s e n g i n e e r i n g ," i n Pr o c .
IEEE/ACM 2 n d In t . Co n f . So f t w a r e En g ., Oc t . 1 9 7 6 .
[ 1 4 ] R. M. Ba l z e r , " Im p r e c i s e p r o g r a m s p e c i f i c a t i o n ," Un i v . So u t h e r n
Ca l i f o r n i a , Lo s An g e l e s , r e p . ISI/RR- 7 5 - 3 6 , De c . 1 9 7 5 .
[ 1 5 ] W. A. Ma r t i n a n d M. Bo s y j , " Re q u i r e m e n t s d e r i v a t i o n i n a u t o m a t i c
p r o g r a m m i n g ," i n Pr o c . MRI Sy m p . Co m p u t . So f t w a r e En g ., Ap r .
1 9 7 6 .
[ 1 6 ] N. P. Do o n e r a n d J . R. Lo u r i e , " Th e a p p l i c a t i o n s o f t w a r e e n g i -
n e e r i n g t o o l ," IBM, r e s . r e p . RC 5 4 3 4 , Ma y 2 9 , 1 9 7 5 .
[ 1 7 ] M. L. Wi l s o n , " Th e i n f o r m a t i o n a u t o m a t a p p r o a c h t o d e s i g n a n d
i m p l e m e n t a t i o n o f c o m p u t e r - b a s e d s y s t e m s ," IBM, r e p . IBM- F SD,
J u n e 2 7 , 1 9 7 5 .
[ 1 8 ]
B. W.
Bo e h m , " So m e
s t e p s
t o w a r d f o r m a l a n d a u t o m a t e d a i d s t o
s o f t w a r e
r e q u i r e m e n t s a n a l y s i s
a n d
d e s i g n ,"
Pr o c . IF IP
Co n g .,
1 9 7 4 , p p .
1 9 2 - 1 9 7 .
[ 1 9 ] A. B. En d r e s , " An a n a l y s i s o f e r r o r s a n d t h e i r c a u s e s i n s y s t e m
p r o g r a m s ," IEEE Tr a n s . So f t w a r e En g ., p p . 1 4 0 - 1 4 9 , J u n e
1 9 7 5 .
[ 2 0 1 T. A. Th a y e r , " Un d e r s t a n d i n g s o f t w a r e t h r o u g h a n a l y s i s o f e m -
p i r i c a l d a t a ," Pr o c . Na t . Co m p u t . Co n f ., 1 9 7 5 , p p . 3 3 5 - 3 4 1 .
[ 2 1 ] B. W. Bo e h m , R. L. Mc Cl e a n , a n d D. B. Ur f r i g , " So m e e x p e r i e n c e
w i t h a u t o m a t e d a i d s t o t h e d e s i g n o f l a r g e - s c a l e r e l i a b l e s o f t w a r e ,"
IEEE Tr a n s . So f t w a r e En g ., p p . 1 2 5 - 1 3 3 , Ma r . 1 9 7 5 .
[ 2 2 ] P. F r e e m a n , " So f t w a r e d e s i g n r e p r e s e n t a t i o n : An a l y s i s a n d i m -
p r o v e m e n t s ," Un i v . Ca l i f o r n i a , Ir v i n e , t e c h . r e p . 8 1 , Ma y 1 9 7 6 .
[ 2 3 ] E. L. G l a s e r e t a l ., " Th e LOG OS p r o j e c t ," i n Pr o c . IEEE COMP-
CON, 1 9 7 2 , p p . 1 7 5 - 1 9 2 .
[ 2 4 ] N. R. Ni e l s e n , " ECSS: Ex t e n d a b l e c o m p u t e r s y s t e m s i m u l a t o r ,"
Ra n d Co r p ., r e p . RM- 6 1 3 2 - PR/NASA, J a n . 1 9 7 0 .
[ 2 5 ] D. W. K o s y , " Th e ECSS II l a n g u a g e f o r s i m u l a t i n g c o m p u t e r
s y s t e m s ," Ra n d Co r p ., r e p . R- 1 8 9 5 - G SA, De c . 1 9 7 5 .
[ 2 6 ] E. W. Di j k s t r a , " Co m p l e x i t y c o n t r o l l e d b y h i e r a r c h i c a l o r d e r i n g
o f f u n c t i o n a n d v a r i a b i l i t y ," i n So f t w a r e En g i n e e r i n g , P. Na u r a n d
B. Ra n d e l l , Ed s . NATO, J a n . 1 9 6 9 .
[ 2 7 ] H. D. Mi l l s , " Ma t h e m a t i c a l f o u n d a t i o n s f o r s t r u c t u r e d p r o g r a m -
m i n g ," IBM- F SD, r e p . F SC 7 2 - 6 0 1 2 , F e b . 1 9 7 2 .
[ 2 8 ] C. L. Mc G o w a n a n d J . R. K e l l y , To p - Do w n St r u c t u r e d Pr o g r a m -
m i n g Te c h n i q u e s . Ne w Yo r k : Pe t r o c e l l i /Ch a r t e r , 1 9 7 5 .
[ 2 9 ] B. W. Bo e h m e t a t ., " St r u c t u r e d p r o g r a m m i n g :
A
q u a n t i t a t i v e
a s s e s s m e n t ," Co m p u t e r , p p . 3 8 - 5 4 , J u n e 1 9 7 5 .
[ 3 0 ] W. P. St e v e n s , G . J . My e r s , a n d L. L. Co n s t a n t i n e , " St r u c t u r e d
d e s i g n ," IBM Sy s t . J ., v o l . 1 3 , n o . 2 , p p . 1 1 5 - 1 3 9 , 1 9 7 4 .
[ 3 1 ] G . J . My e r s , Re l i a b l e So f t w a r e Th r o u g h Co m p o s i t e De s i g n . Ne w
Yo r k : Pe t r o c e l l i /Ch a r t e r , 1 9 7 5 .
[ 3 2 ] D. L. Pa r n a s , " On ,t h e
c r i t e r i a t o b e u s e d i n d e c o m p o s i n g s y s t e m s
i n t o m o d u l e s ," CACM, p p . 1 0 5 3 - 1 0 5 8 , De c . 1 9 7 2 .
[ 3 3 ] D. L. Pa r n a s , " Th e i n f l u e n c e o f s o f t w a r e s t r u c t u r e o n
r e l i a b i l i t y ,"
i n Pr o c . 1 9 7 5 In t . Co n f . Re l i a b l e So f t w a r e , Ap r . 1 9 7 5 , p p . 3 5 8 - 3 6 2 ,
a v a i l a b l e f r o m IEEE.
[ 3 4 ] M. Ha m i l t o n a n d S. Z e l d i n , " Hi g h e r o r d e r s o f t w a r e - A m e t h o d -
o l o g y f o r d e f i n i n g s o f t w a r e ," IEEE Tr a n s . So f t w a r e En g ., p p . 9 - 3 2 ,
Ma r . 1 9 7 6 .
[ 3 5 ] " HIPO- A d e s i g n a i d a n d d o c u m e n t a t i o n t e c h n i q u e ," IBM, r e p .
G C2 0 - 1 8 5 1 - 0 , Oc t . 1 9 7 4 .
[ 3 6 ] J . Mo r t i s o n , " To o l s a n d t e c h n i q u e s f o r s o f t w a r e d e v e l o p m e n t
p r o c e s s v i s i b i l i t y a n d c o n t r o l ," i n Pr o c . ACM
Co m p u t .
Sc i .
Co n f .,
F e b . 1 9 7 6 .
[ 3 7 ] I. Na s s i a n d B. Sc h n e i d e r m a n , " F l o w c h a r t t e c h n i q u e s f o r s t r u c -
t u r e d p r o g r a m m i n g ," SIG PLAN No t i c e s , p p . 1 2 - 2 6 , Au g .
1 9 7 3 .
[ 3 8 ] D. T. Ro s s , J . B. G o o d e n o u g h ,
a n d C. A.
Ir v i n e ,
" So f t w a r e
e n g i -
n e e r i n g : Pr o c e s s , p r i n c i p l e s , a n d g b a l s ," Co m p u t e r , p p . 1 7 - 2 7 , Ma y
1 9 7 5 .
[ 3 9 ] M. A. J a c k s o n , Pr i n c i p l e s o f Pr o g r a m De s i g n . Ne w Yo r k : Ac a -
d e m i c , 1 9 7 5 .
[ 4 0 ] P. He n d e r s o n a n d R A. Sn o w d e n , " A t o o l f o r s t r u c t u r e d p r o g r a m
d e v e l o p m e n t ," i n Pr o c . 1 9 7 4 IF IP
Co n g ., p p .
2 0 4 - 2 0 7 .
[ 4 1 ] L. C. Ca r p e n t e r a n d L. L. Tr i p p , " So f t w a r e d e s i g n v a l i d a t i o n t o o l ,"
i n Pr o c . 1 9 7 5 In t . Co n f . Re l i a b l e So f t w a r e , Ap r . 1 9 7 5 , p p . 3 9 5 - 4 0 0 ,
a v a i l a b l e f r o m IEEE.
[ 4 2 ] S. H. Ca i n e a n d E. K . G o r d o n , " PDL: A t o o l f o r s o f t w a r e d e s i g n ,"
i n Pr o c . 1 9 7 5 Na t . Co m p u t . Co n f ., p p . 2 7 1 - 2 7 6 .
[ 4 3 ] H. D. Mi l l s , " St r u c t u r e d p r o g r a m m i n g i n l a r g e s y s t e m s ,"
IBM-
F SD, No v . 1 9 7 0 .
[ 4 4 ] C. A. R. Ho a r e , " No t e s o n d a t a s t r u c t u r i n g ," i n St r u c t u r e d Pr o -
g r a m m i n g , 0 . J . Da h l , E. W. Di j k s t r a , a n d C. A. R. Ho a r e . Ne w
Yo r k : Ac a d e m i c , 1 9 7 2 .
[ 4 5 ] N. Wi r t h , " An a s s e s s m e n t o f t h e p r o g r a m m i n g l a n g u a g e Pa s c a l ,"
IEEE Tr a n s . So f t w a r e En g ., p p . 1 9 2 - 1 9 8 , J u n e 1 9 7 5 .
[ 4 6 ] P. Br i n c h - Ha n s e n , " Th e p r o g r a m m i n g l a n g u a g e c o n c u r r e n t Pa s -
c a l ," IEEE Tr a n s . So f t w a r e En g ., p p . 1 9 9 - 2 0 8 , J u n e 1 9 7 5 .
[ 4 7 ] W. A. Wu l f , ALPHARD: To w a r d a l a n g u a g e t o s u p p o r t
s t r u c t u r e d
p r o g r a m s ," Ca r n e g i e - Me l l o n Un i v ., Pi t t s b u r g h , PA, i n t e r n a l r e p .,
Ap r . 3 0 , 1 9 7 4 .
[ 4 8 ] B. H. Li s k o v a n d S. Z i l l e s , " Pr o g r a m m i n g w i t h a b s t r a c t d a t a t y p e s ,"
SIG PLAN No t i c e s , p p . 5 0 - 5 9 , Ap r i l 1 9 7 4 .
[ 4 9 ] F . T. Ba k e r , " St r u c t u r e d p r o g r a m m i n g i n a p r o d u c t i o n p r o g r a m -
m i n g e n v i r o n m e n t ," IEEE Tr a n s . So f t w a r e En g ., p p . 2 4 1 - 2 5 2 ,
J u n e 1 9 7 5 .
[ 5 0 1
R. D. Wi l l i a m s , " Ma n a g i n g t h e d e v e l o p m e n t o f r e l i a b l e s o f t w a r e ,"
Pr o c ., 1 9 7 5 In t . Co n f . Re l i a b l e So f t w a r e Ap r i l 1 9 7 5 , p p . 3 - 8 ,
a v a i l a b l e f r o m IEEE.
[ 5 1 ] J . Wi t t , " Th e COLUMBUS a p p r o a c h ,"
IEEE Tr a n s .
So f t w a r e
1 2 4 0
BOEHM: SOF TWARE ENG INEERING
En g ., p p . 3 5 8 - 3 6 3 , De c . 1 9 7 5 .
[ 5 2 ] B. W.
K e r n i g h a n
a n d P. J .
Pl a u g e r ,
Th e El e m e n t s
o f Pr o g r a m m i n g
St y l e . Ne w Yo r k : Mc G r a w - Hi l l , 1 9 7 4 .
1 5 3 ]
H. F . Le d g a r d , Pr o g r a m m i n g Pr o v e r b s . Ro c h e l l e Pa r k , NJ :
Ha y d e n , 1 9 7 5
[ 5 4 ] W. A. Wh i t a k e r e t a l ., " De p a r t m e n t o f De f e n s e r e q u i r e m e n t s f o r
h i g h o r d e r c o m p u t e r p r o g r a m m i n g l a n g u a g e s : ' Ti n m a n ,' " De f e n s e
Ad v a n c e d Re s e a r c h Pr o j e c t s Ag e n c y , Ap r . 1 9 7 6 .
[ 5 5 ] Pr o c . 1 9 7 3 IEEE Sy m p . Co m p u t . So f t w a r e Re l i a b i l i t y , Ap r .- Ma y
1 9 7 3 .
[ 5 6 ] E. C. Ne l s o n , " A s t a t i s t i c a l b a s i s f o r s o f t w a r e r e l i a b i l i t y a s s e s s -
m e n t ," TRW Sy s t e m s , Re d o n d o Be a c h , CA, r e p . TRW- SS- 7 3 - 0 3 ,
Ma r . 1 9 7 3 .
[ 5 7 ] J . R. Br o w n a n d M. Li p o w , " Te s t i n g f o r s o f t w a r e r e l i a b i l i t y ," i n
Pr o c . 1 9 7 5In t . Co n f . Re l i a b l e So f t w a r e , Ap r . 1 9 7 5 , p p . 5 1 8 - 5 2 7 .
[ 5 8 ] J . D. Mu s a , " Th e o r y o f s o f t w a r e r e l i a b i l i t y a n d i t s a p p l i c a t i o n ,"
IEEE Tr a n s . So f t w a r e En g ., p p . 3 1 2 - 3 2 7 , Se p t . 1 9 7 5 .
[ 5 9 ] R. J . Ru b e y , J . A. Da n a , a n d P. W. Bi c h e , " Qu a n t i t a t i v e As p e c t s
o f s o f t w a r e v a l i d a t i o n ," IEEE Tr a n s . So f t w a r e En g ., p p . 1 5 0 - 1 5 5 ,
J u n e 1 9 7 5 .
[ 6 0 ] T. A. Th a y e r , M. Li p o w , a n d E. C. Ne l s o n , " So f t w a r e r e l i a b i l i t y
s t u d y ," TRW Sy s t e m s , Re d o n d o Be a c h , CA, r e p . t o RADC, Co n -
t r a c t F 3 0 6 0 2 - 7 4 - C- 0 0 3 6 , Ma r . 1 9 7 6 .
[ 6 1 ] D. J . Re i f e r , " Au t o m a t e d a i d s f o r r e l i a b l e s o f t w a r e ," i n Pr o c . 1 9 7 5
In t . Co n f . Re l i a b l e So f t w a r e , Ap r . 1 9 7 5 , p p . 1 3 1 - 1 4 2 .
[ 6 2 ] C. V. Ra m a m o o r t h y a n d S. B. F . Ho , " Te s t i n g l a r g e s o f t w a r e w i t h
a u t o m a t e d s o f t w a r e e v a l u a t i o n s y s t e m s ," IEEE Tr a n s . So f t w a r e
En g ., p p . 4 6 - 5 8 , Ma r . 1 9 7 5 .
[ 6 3 ] J . B. G o o d e n o u g h a n d S. L. G e r h a r t , " To w a r d a t h e o r y o f t e s t d a t a
s e l e c t i o n ," IEEE Tr a n s . So f t w a r e En g ., p p . 1 5 6 - 1 7 3 , J u n e 1 9 7 5 .
[ 6 4 ] P. We g n e r , " Re p o r t o n t h e 1 9 7 5 In t e r n a t i o n a l Co n f e r e n c e o n Re -
l i a b l e So f t w a r e ," i n F i n d i n g s a n d Re c o m m e n d a t i o n s o f t h e J o i n t
Lo g i s t i c s Co m m a n d e r s ' So f t w a r e Re l i a b i l i t y Wo r k G r o u p , Vo l .
II, No v . 1 9 7 5 , p p . 4 5 - 8 8 .
[ 6 5 ] J . C. K i n g , " A n e w a p p r o a c h t o p r o g r a m t e s t i n g ," i n Pr o c . 1 9 7 5In t .
Co n f .
Re l i a b l e So f t w a r e , Ap r . 1 9 7 5 , p p . 2 2 8 - 2 3 3 .
[ 6 6 ] R. S. Bo y e r , B. El s p a s , a n d K . N. Le v i t t , " Se l e c t - A f o r m a l s y s t e m
f o r t e s t i n g a n d d e b u g g i n g p r o g r a m s ," i n Pr o c . 1 9 7 5 In t . Co n f . Re -
l i a b l e So f t w a r e , Ap r . 1 9 7 5 , p p . 2 3 4 - 2 4 5 .
[ 6 7 ] J . G o l d b e r g , Ed ., Pr o c . Sy m p . Hi g h Co s t o f So f t w a r e , St a n f o r d
Re s e a r c h In s t i t u t e , St a n f o r d , CA, Se p t . 1 9 7 3 , p . 6 3 .
[ 6 8 ] L. C. Ra g l a n d , " A v e r i f i e d p r o g r a m v e r i f i e r ," Ph .D. d i s s e r t a t i o n ,
Un i v . o f Te x a s , Au s t i n , 1 9 7 3 .
[ 6 9 ] D. I. G o o d , R. L. Lo n d o n , a n d W. W. Bl e d s o e , " An i n t e r a c t i v e
p r o g r a m v e r i f i c a t i o n s y s t e m ," IEEE Tr a n s . So f t w a r e En g ., p p .
5 9 - 6 7 , Ma r . 1 9 7 5 .
[ 7 0 ] F . W. v o n He n k e a n d D. C. Lu c k h a m , " A m e t h o d o l o g y f o r v e r i f y i n g
p r o g r a m s ," i n Pr o c . 1 9 7 5 In t . Co n f . Re l i a b l e So f t w a r e , p p . 1 5 6 - 1 6 4 ,
Ap r . 1 9 7 5 .
[ 7 1 ] C. A. R. Ho a r e a n d N. Wi r t h , " An a x i o m a t i c d e f i n i t i o n o f t h e
p r o g r a m m i n g l a n g u a g e PASCAL," Ac t a In f o r m a t i c a , v o l . 2 , p p .
3 3 5 - 3 5 5 , 1 9 7 3 .
[ 7 2 ] R. L. Lo n d o n , " A v i e w o f p r o g r a m v e r i f i c a t i o n ," i n Pr o c . 1 9 7 5 In t .
Co n f . Re l i a b l e So f t w a r e , Ap r . 1 9 7 5 , p p . 5 3 4 - 5 4 5 .
[ 7 3 ] E. W. Di j k s t r a , " No t e s o n s t r u c t u r e d p r o g r a m m i n g ," i n St r u c t u r e d
Pr o g r a m m i n g , 0 . J . Da h l , E. W. Di j k s t r a , a n d C. A. R. Ho a r e . Ne w
Yo r k : Ac a d e m i c , 1 9 7 2 .
[ 7 4 ] W. A. Wu l f , " Re l i a b l e h a r d w a r e - s o f t w a r e a r c h i t e c t u r e s ," IEEE
Tr a n s . So f t w a r e En g ., p p . 2 3 3 - 2 4 0 , J u n e 1 9 7 5 .
[ 7 5 ] J . G o l d b e r g , " Ne w p r o b l e m s i n f a u l t - t o l e r a n t c o m p u t i n g ," i n Pr o c .
1 9 7 5 In t . Sy m p . F a u l t - To l e r a n t Co m p u t i n g , Pa r i s , F r a n c e , p p .
2 9 - 3 6 , J u n e 1 9 7 5 .
[ 7 6 ] B. Ra n d e l l , " Sy s t e m s t r u c t u r e f o r s o f t w a r e f a u l t - t o l e r a n c e ," IEEE
Tr a n s . So f t w a r e En g ., p p . 2 2 0 - 2 3 2 , J u n e 1 9 7 5 .
[ 7 7 ] R. K . Mc Cl e a n a n d B. Pr e s s , " Im p r o v e d t e c h n i q u e s f o r r e l i a b l e
s o f t w a r e u s i n g m i c r o p r o g r a m m e d d i a g n o s t i c e m u l a t i o n ," i n Pr o c .
IF AC Co n g ., Vo l . IV, Au g . 1 9 7 5 .
[ 7 8 ] E. B. Sw a n s o n , " Th e d i m e n s i o n s o f m a i n t e n a n c e ," i n Pr o c .
IEEE/ACM 2 n d In t . Co n f . So f t w a r e En g ., Oc t . 1 9 7 6 .
[ 7 9 ] B. W. Bo e h m , J . R. Br o w n , a n d M. Li p o w , " Qu a n t i t a t i v e e v a l u a t i o n
o f s o f t w a r e q u a l i t y ," i n Pr o c . IEEE/ACM 2 n d In t . Co n f . So f t w a r e
En g ., Oc t . 1 9 7 6 .
[ 8 0 ] J . L. El s h o f f , " An a n a l y s i s o f s o m e c o m m e r c i a l PL/I p r o g r a m s ,"
IEEE Tr a n s . So f t w a r e En g ., p p . 1 1 3 - 1 2 0 , J u n e 1 9 7 6 .
[ 8 1 ] W. L. Tr a i n o r , " So f t w a r e : F r o m Sa t a n t o s a v i o u r ," i n Pr o c ; ,
NAECON, Ma y 1 9 7 3 .
[ 8 2 ] E. H. Si b l e y , Ed ., ACM Co m p u t . Su r v e y s ( Sp e c i a l Is s u e o n Da t a
Ba s e
Ma n a g e m e n t Sy s t e m s ) , Ma r . 1 9 7 6 .
[ 8 3 ] De f e n s e Ma n a g e m e n t
J .
( Sp e c i a l
Is s u e o n So f t w a r e Ma n a g e -
m e n t ) , v o l . II, Oc t . 1 9 7 5 .
[ 8 4 ]
L. A.
Be l a d y
a n d M. M.
Le h m a n ,
" Th e e v o l u t i o n d y n a m i c s o f l a r g e
p r o g r a m s ,"
IBM Re s e a r c h , Se p t . 1 9 7 5 .
[ 8 5 ]
F . P.
Br o o k s ,
Th e
My t h i c a l
Ma n - Mo n t h . Re a d i n g , MA: Ad d i -
s o n - We s l e y , 1 9 7 5 .
[ 8 6 ]
E. Ho r o w i t z , Ed .,
Pr a c t i c a l St r a t e g i e s f o r De v e l o p i n g La r g e - Sc a l e
So f t w a r e . Re a d i n g ,
MA: Ad d i s o n - We s l e y , 1 9 7 5 .
[ 8 7 ]
G . F .
We i n w u r m , Ed .,
On t h e Ma n a g e m e n t o f Co m p u t e r Pr o -
g r a m m i n g .
Ne w Yo r k : Au e r b a c h , 1 9 7 0 .
[ 8 8 ]
P. Na u r a n d B.
Ra n d e l l , Ed s ., So f t w a r e En g i n e e r i n g , NATO, J a n .
1 9 6 9 .
[ 8 9 ]
P. J .
Me t z g e r , Ma n a g i n g
a
Pr o g r a m m i n g
Pr o j e c t . En g l e w o o d
Cl i f f s ,
NJ : Pr e n t i c e - Ha l l , 1 9 7 3 .
[ 9 0 ]
J . C. Sh a w a n d W.
At k i n s , Ma n a g i n g Co m p u t e r Sy s t e m Pr o j e c t s .
Ne w Yo r k : Mc G r a w - Hi l l , 1 9 7 0 .
[ 9 1 ]
G . F .
Hi c e ,
W. S.
Tu r n e r ,
a n d L. F . Ca s h w e l l , Sy s t e m De v e l o p m e n t
Me t h o d o l o g y .
Ne w Yo r k : Am e r i c a n El s e v i e r , 1 9 7 4
[ 9 2 ]
W. J .
Ri d g e
a n d L. E.
J o h n s o n , Ef f e c t i v e Ma n a g e m e n t o f Co m -
p u t e r So f t w a r e . Ho m e w o o d , IL: Do w J o n e s - Ir w i n , 1 9 7 3 .
[ 9 3 ]
T. R.
G i l d e r s l e e v e ,
Da t a
Pr o c e s s i n g Pr o j e c t Ma n a g e m e n t . Ne w
Yo r k : Va n No s t r a n d Re i n h o l d , 1 9 7 4 .
[ 9 4 ]
G . F .
We i n b e r g ,
Th e
Ps y c h o l o g y o f Co m p u t e r Pr o g r a m m i n g . Ne w
Yo r k : Va n No s t r a n d Re i n h o l d , 1 9 7 1 .
[ 9 5 ]
J . D.
Ar o n ,
Th e
Pr o g r a m De v e l o p m e n t Pr o c e s s : Th e In d i v i d u a l
Pr o g r a m m e r . Re a d i n g ,
MA: Ad d i s o n - We s l e y , 1 9 7 4 .
[ 9 6 ]
R. W.
Wo l v e r t o n ,
" Th e c o s t o f d e v e l o p i n g l a r g e - s c a l e s o f t w a r e ,"
IEEE Tr a n s . Co m p u t ., 1 9 7 4 .
[ 9 7 ]
M. H.
Ha l s t e a d ,
" To w a r d a t h e o r e t i c a l b a s i s f o r e s t i m a t i n g p r o -
g r a m m i n g e f f o r t ,"
i n Pr o c . As s . Co m p u t . Ma c h . Co n f .,
Oc t . 1 9 7 5 ,
p p . 2 2 2 - 2 2 4 .
[ 9 8 ] Su m m a r y No t e s , G o v e r n m e n t /In d u s t r y So f t w a r e Si z i n g a n d
Co s t i n g Wo r k s h o p ,
USAF El e c t r o n . Sy s t . Di v ., Oc t . 1 9 7 4 .
[ 9 9 ]
B. S.
Ba r r y
a n d J . J .
Na u g h t o n ,
" Ch i e f p r o g r a m m e r t e a m o p e r a -
t i o n s
d e s c r i p t i o n ,"
U. S. Ai r
F o r c e , r e p . RADC- TR- 7 4 - 3 0 0 ,
Vo l .
X
( o f 1 5 - v o l u m e s e r i e s ) , p p . 1 - 2 - 1 - 3 .
[ 1 0 0 ] So f t w a r e De v e l o p m e n t
a n d
Co n f i g u r a t i o n
Ma n a g e m e n t Ma n u a l ,
TRW
Sy s t e m s ,
Re d o n d o
Be a c h , CA, r e p . TRW- SS- 7 3 - 0 7 , De c .
1 9 7 3 .
[ 1 0 1 ]
H. Br a t m a n a n d T.
Co u r t ,
" Th e s o f t w a r e f a c t o r y ," Co m p u t e r , p p .
2 8 - 3 7 , Ma y 1 9 7 5 .
[ 1 0 2 ] " Sy s t e m s d e s i g n l a b o r a t o r y :
Pr e l i m i n a r y d e s i g n r e p o r t ," Na v a l
El e c t r o n i c s La b .
Ce n t e r , Pr e l i m i n a r y Wo r k i n g Pa p e r , TN- 3 1 4 5 ,
Ma r . 1 9 7 6 .
[ 1 0 3 ]
W. E. Ca r l s o n a n d S. D.
Cr o c k e r ,
" Th e i m p a c t o f n e t w o r k s o n t h e '
s o f t w a r e
m a r k e t p l a c e ,"
i n Pr o c . EASCON, Oc t . 1 9 7 4 .
[ 1 0 4 ] " Ma n a g e m e n t
o f
c o m p u t e r
r e s o u r c e s i n m a j o r d e f e n s e s y s t e m s ,"
De p a r t m e n t
o f De f e n s e , Di r e c t i v e 6 0 0 0 .2 9 ,Ap r . 1 9 7 6 .
Ba r r y
W. Bo e h m r e c e i v e d t h e B.A. d e g r e e i n
m a t h e m a t i c s f r o m Ha r v a r d Un i v e r s i t y , Ca m -
b r i d g e , MA, i n 1 9 5 7 , a n d t h e M.A. a n d Ph .D.
d e g r e e s
f r o m t h e Un i v e r s i t y o f Ca l i f o r n i a , Lo s
An g e l e s ,
i n 1 9 6 1 a n d 1 9 6 4 , r e s p e c t i v e l y .
He e n t e r e d t h e c o m p u t i n g f i e l d a s a Pr o -
g r a m m e r
i n 1 9 5 5 a n d h a s v a r i o u s l y s e r v e d a s a
Nu m e r i c a l An a l y s t , Sy s t e m An a l y s t , In f o r m a -
t i o n Sy s t e m De v e l o p m e n t Pr o j e c t Le a d e r ,
Ma n a g e r o f g r o u p s p e r f o r m i n g s u c h t a s k s ,
He a d o f t h e In f o r m a t i o n Sc i e n c e s De p a r t m e n t
a t t h e Ra n d
Co r p o r a t i o n ,
a n d a s Di r e c t o r o f t h e 1 9 7 1 Ai r F o r c e CCIP- 8 5
s t u d y .
He i s
c u r r e n t l y
Di r e c t o r o f So f t w a r e Re s e a r c h a n d Te c h n o l o g y
w i t h i n t h e TRW
Sy s t e m s
a n d
En e r g y G r o u p , Re d o n d o Be a c h , CA. He
i s t h e a u t h o r o f
p a p e r s
o n a n u m b e r o f c o m p u t i n g s u b j e c t s , m o s t r e c e n t l y
i n t h e a r e a o f s o f t w a r e
r e q u i r e m e n t s a n a l y s i s a n d d e s i g n t e c h n o l o g y . He
s e r v e s o n s e v e r a l
g o v e r n m e n t a l a d v i s o r y c o m m i t t e e s , a n d c u r r e n t l y i s
Ch a i r m a n o f t h e NASA Re s e a r c h a n d Te c h n o l o g y Ad v i s o r y Co m m i t t e e
o n
G u i d a n c e , Co n t r o l , a n d .In f o r m a t i o n Sy s t e m s .
Dr . Bo e h m i s a m e m b e r o f t h e IEEE Co m p u t e r So c i e t y , i n w h i c h h e
c u r r e n t l y
s e r v e s o n t h e Ed i t o r i a l Bo a r d o f t h e IEEE TRANSACTIONS
ON
SOF TWARE
ENG INEERING a n d o n t h e Te c h n i c a l Co m m i t t e e o n So f t w a r e
En g i n e e r i n g .
1 2 4 1

You might also like