Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Engineering
Experiment
in Software
Component
Generation*
Jeffrey
Richard
B. Kieburtz
Bell
James Hook
M.
Dino
P. Oliva
Tim
Laura
Abstract
This
paper
neering
constructing
gram
that
common
mand,
and
software
of
domain,
with
reusable
were
applied
constructing
modules
communications
for
and
to
ter
message
military
information
The
employed
of use of the
of test
examples.
personnel
Test
taken
The
results
and
jects
used
Ada
templates
to
that
were
The
levels
when
when
sofiware
they
modules
differences
in
are statistically
exceeding
domain
the
the
component
that
SDRR
subused
structed
matic
average
program
the
potential
duce
to improve
the incidence
velopment
results
and
by
human
of errors
comparing
productivity
This
conducted
the
to test
performance
and
reports
these
re-
$5.0001996
of ICSE-18
IEEE
in a selected
developed
to conreasonably
target
with
domain-specific
a software
language
SDRR
com-
language
component
from
in which
a selected
domain,
a translator
de-
provides
the
tion,
for
early
the
specification
prototyping
of
language
a generated
that
solu-
hy-
of subjects
Proceedings
generator
a declarative,
a reusable
tion
0270-5257/96
translation
into
con-
of auto-
have
in software
paper
seman-
The
prises
reliabil-
generators
introduced
maintenance.
of an experiment
potheses
software
the
implementation.
that
code
informal
techniques
definition
of
provided
from
and
for
contribution
technology
advanced
semantic
compilable
use for
language.
transformation
to specify
believed
uses
a high-level
for
the
a soft-
to formalize
unique
generator
a specification
generator
efficient,
usability.
is widely
is in
of
problem
It
method
specify
abstractions
experts
The
is
language
It is intended
designs.
CenSDRR
is designed
high-level
domain
of their
tech-
designer
can
language
domain.
definition
Introduction
in the
tic
vert
application
the
Reuse)
the
specification
the
was
from
an
In
specialist
to capture
and
Institute.
for
a program
szgnijicant
productivity,
Research
construct
99 percent.
generation,
synthesis
A specification
A software
flexibility,
software
Software
applications
vernacular
using
by the Pacific
to
Keywords
Software
each
of the
productivity
than
solution.
tasks.
constructed
Reliability
Graduate
in
reusable
for
interface
the
ware
performance
programming
was
a domain-specific
description
specifica-
introduced
generator
of the subjects
at confidence
with
independent
of message
greater
implement
of specifications.
performance
ity,
the
importance
C31 systems.
error
the program
set
conducted
by an
consisted
are
fewer
was
supervised
Force
to conduct
on a common
experiment
and
Am
subjects
technologies
cases
from
main
achieved
sets
The
supplied
contractor.
tions
two
four
same
Design
Oregon
upon
in which
experiment
trials
of the
their
technology,
based
sys-
with
generator
developed
method,
com-
to the
software
(Software
nique
Walton
state-of-the-art
templates,
method
pro-
Lewis
generator
another
SDRR
a reuse
Ada
Lisa
a software
The
domam-specific
Jeffrey
Smith
code
for
(C31).
tems
Ira
applying
engi-
technology
technologies
validation
control,
new
from
sets
Both
problem
translation
employs
templates.
of
which
generators
languages
technology
Kotov
using
results
in
program
specification
presents
experiment
McKinney
Alex
Sheard
of the
interface
that
prototype
a back-end
selected
542
program
pipeline
transformation
reshapes
and
improves
translathe code
translator,
code generator
target
and
language,
specification.
that
produces
conforming
code
in a
to a software
The
over
user
the
of a program
algorithms,
standards
that
mentation
of a software
tion.
The
to
SDRR
the
level.
applying
it in a single,
comparing
it
an
notions
more
flexible
monly
held
ers would
reusable
that
generation
plement
effort
many
design
Ten
reuse
assemble
systems
An
capture
hardware
help
to assure
such
in code
interface
costly
types
and
and
of a resulting
Ideas
software
trying
domain
sign
that
Often,
cations
which
within
kit
There
common
aspects
A soflware
of
entities
will
make
artifacts,
makes
it
on
an
and
or more
on the
concepts
while
which
(components,
[7] is
a software
product
and
set
These
of
how
may
be
of
components,
a large
or
a very
or
use
sophisticompo-
[11].
MTV
Templates
reuse
the
a language-based
from
MTV
kits.
and
are
view
of the
Templates,
to the
code
applica-
the
emphasis
templates,
interface
in-
for
and
these
applications
en-
technologies
technology
compared
Engineering
types
of fields
ing numeric
fields
There
which
fields
in
an external
to
be
These
The
to
application,
to
of a set
to the
includ-
records
and enu-
specify
patterns
as strings
templates
of bits
contain
spe-
are to be replaced
templates
produce
(MTV)
consists
text,
that
code
selected
correspond
encoded
identifiers
the
in a messagee,
width,
message.
bracketed
It
is a template
are
for
that
expected
of any
the
Communications
systems.
templates
the
by
validation
Control,
(C31)
program
in
[9]
and
Command,
which
developed
Institute
translation
Force
with
was
can
Ada
by
be edited
functions
specialized
to a particular
Templates
solution,
for
by
the
message
format.
the
templates
that
functions
they
stream
that
543
translate
represent
test
somatically.
scale,
MTV
is synthesized
which
simple
templates.
small
the
of prototype
merations.
and
prototype
in-
seen by
adapt
templates
hidden
visible
was
a message.
A
are
Information
MTV
The
are related.
archi-
existing,
is on synthesis
prototype
reuse
parameters.
the kinds
interfaces)
and
provides
templates-based
Air
cially
of domain-
are central.
types,
may
and
of domain-specific
With
the
generic
applications
describes
and
emphasis
the
and
With
architecture,
the
The
in an application
framework
of 12 Ada
domain.
idea
by
from
the interface
to select
Generator
the
Two
and
are:
up
MTV-G,
engineer.
for
a process
application
framework
Software
requirements
kit
MTV
domainmessage
de-
one
the
search-and-replace
variations
certain
inclusion
the
The
domain.
but
im-
[3].
components.
provides
tools
into
1.2
ap-
of appli-
of new
that
a synthetic
gineer.
products.
and
guided
an appl;ation
engineer
for
generator
domain
tools
construction
are many
reuse,
as
flexible
reuse
forms
of components
or customized
nents
constitute
performance
describing
Genera-
providing
framework,
is on customization
workproducts
domain-specific
centered
a specified
specific
for
[10].
by prototype
bu-ilds
inference
tion
to new
of software
of
templates.
framework
generation
such
pre-implementation
an architecture
enables
the
a more
is a particular
languages
them,
This
or customization
prototype
creation
application
terface,
of compo-
reusable
a class
of reusable
using
A reuse
and
class
specifications.
For
components
components
to
in
to
share
domain-specific
a collection
the
that
integration
fami-
decisions
affect
evolved
engineering
reuse
envisioned.
details.
capture
is common
the
for
cated
With
product.
have
to
way
concept
technology
software
generation
of features,
Both
fit
design
adversely
of
to the
software
algorithm
can
on reuse
proach,
late
existing
library
compatibility
standards,
too many
to adapt
applications
the
industry
govern
reuse
a comdevelop-
This
had
the software
which
ago,
designed.
that
Lacking
of
was that
em-
be directed
integration
the
collections
a standard
as some
reuse
be-
years
process
from
classes
tecture,
moving
in analogy
were
as successful
reasons,
from
components,
systems
to
been
towards
artifacts.
standards
nents.
libraries
of software
soft ware
lies and
can
facility
was
state-of-the-art
have
the
or synthesis
is, by
domain
approach
vision
tion
application
technology
whether
support
components.
tegration
of reuse
hardware
for
Tools that
synthesized
in reuse
yond
upon
assembly
implefor the
here
this
available,
phasizes
automa-
described
successful
depending
coding
technology
of software
A domain-specific
Concepts
or
supporting
non-trivial
with
and
control
technology.
1.1
the
design
in exchange
experiment
how
and
ages of design
and
automation
to evaluate
and
the
y advant
The
designed
reuse
to
component
method
to take
a new
sacrifices
representations
contribute
time,
attempt
generator
data
ations
perform
This
harness
into
and
validity
the
and
package
package
between
internal
checks
a set of edited
Ada
messages
synthesis
for
an
data
on the
the
ar;
their
of six
data-
structures,
contents
generation
performed
of
of
au-
For
the
MTV
the SDRR
ified
in
for
MTV-G
tions
with
interfaces
In
executable
tested
before
automation
tous.
The
interpreted
validity
may
typical
MTV
several
sensors.
Each
reuse
modules.
this
experiment
was
already
MTV
because
the
available,
can
Final
be fur-
on fields
of the
from
Hypotheses
domain
was selected
for
of
IBM
Federal
productivity
by
for
versus
Division
custom
coding
tralize,
compari-
reported
in
a more
reliability
and
templates
code
reuse
The
test
that
The
may
developer
of applications
[6].
This
level
differences
with
that
designed
experiment
least
[2] that
benefits
We
believe
as effective
The
evalu-
of code
other
experiment
we report
hypotheses
tor
that
was
the
MTV
this
experiment
developed
Templates.
with
MTV
SDRR
Specific
was designed
the
MTV
hypotheses
to
of analysis.
obtain
with
technologies.
instances
of message
as can
Templates.
in
and
with
creating
or
validation
the
MTV
modifying
module
will
be more
a message
when
using
ranthat
matching
(the
by
Vott
of the
factor
control
same
of the
such
experiment
subjects,
is
measured
to
data.
control
as the
for
order
technologies,
the
a common
of progress
in
these
of
order
work
in learning
new
factor
remaining
factors
have been
of analysis.
systematic
there
remains
tasks.
task
replication,
a and
if the
systematic
individual
of variable
in a software
to
only
is differences
However,
is essential
two
rate
extraneous,
of
Porter,
544
the
controlled,
translation
than
in the
The
effects
MTV-G
(C)
factors
of independence
analysis
of tasks
and
productive
Templates.
degree
factors,
after
and
extra-
variation
independently
systematic
difficulty
gies)
2. Productivitydevelopers
for
vary
it
successfully
to at least
specification
The
factor
subjects.
independence,
be the
Even
for
and
to those
residual
them
of subjects
should
neu-
of extraneous
of trials,
be accounted
of presentation
in
of analy-
one must
to control
respect
human
by statistical
environment,
tested
can be configured
can
Genera-
technology
of the
potentially
are:
1. FlexibilityMTV-G
as many
on here
comparing
an experi-
to eliminate
replication
(vi)
(vii)
familiarity
factor
effects
available
important
to make
training
(viii)
used,
the
work
motivation,
of a single
matching
with
(iv)
systematically.
most
termined
To
(A)
(B)
abilities
tor
reuse
reusable
as any
are
tech-
the
experience,
and
technologies
of trials
vary
the
inconsistent
times
the
be in-
(i)
In designing
as possible,
trial,
templates,
modules.
at
each
and
of tasks,
effect
techniques
domization
by
code
is not
csse
factors
reusable
recent
are
1980s
techniques.
several
the
showed
productivity
wit h object-oriented
code
late
the
of human
technologies,
procedures.
insofar
factors.
at
the
of difficulty
in
Phase
in the technologies,
education
ability
design
one may
including
the
prior
to measure
the
[5].
as this
of training
in individual
level
four
increase
as
be found
Reuse:
Report
of factors
of learning
(v)
can
and
such
order
task-specific
approximately
domain-specific,
of productivity
ated
improved
in
(ii)
of
details
of the performance
used,
sis, in this
Experiment
Systems
was
using
the
gathered
attributes
difficulty
overview
Technical
nologies
ment
solution
a basis
and
by a variety
with
is difficult
templates-based
data
MTV-G
Templates.
Reliability
fluenced
boredom,
Thus
for
in an experiment
differences
similar
of details,
components
its
a brief
subjects
neous
Unpublished
in
de-
perceive
MTV
Complete
Design
environment,
son.
2
will
the
gives
Scientific
(iii)
several
performs
section
Measurable
or
is trans-
messages
providing
introduced
in a solution
Design
experiment.
Software
ubiqui-
incorporates
module
This
of the
of bits
that
a multitude
The
be
Templates.
to use than
Experiment
be
is to translate
As a message
of software
can
for soft-
as streams
structure
MTV
than
an
with
are
module
be performed
in
easier
compiled.
modules
to translate
differs
conventional
and
candidate
C31 system
modules
but
MTV
in MSL
arrive
data
checks
functions
written
by a controller.
different
for
that
an internal
message.
translator,
of an MTV
MTV
with
will
4. Usabilitydevelopers
func-
provides
message
MTV
veloped
defects
MTV-G
templates-based
is generated
because
with
is
MTV-
of six
MTV-G
is an excellent
messages
into
lated,
code
function
incoming
of the
specification
domain
ware
ther
of the
Ada
MTV
those
for
development
de-
MSL
language
however,
prototype
a message
bytes
like
(MSL)
package
3. Reliabilityfewer
using
is spec-
application.
an Ada
addition,
which
language
MTV
specification
synthesizes
solution.
The
the
created
of a message
specification
specifically
domain-specific
G.
(MTV-G)
the format
a message
signed
the
Generator
technology,
factors
Basili
of factors
engineering
variability
This
is assigned
through
are
affecting
in both
which
diluted
[1] give
in
a detailed
human
experiment.
yin
the
is controlled
by
technolo-
the
random
import
ante.
discussion
performance
3.1
Trial
task
Message
trials
format
were
message
taken
varied
record
fields
fields
an
fields
were
fields,
all
were
value
Inter-field
value
constraints
An
Force
message
to
the
232
riod
prior
alternative
duct
field.
use.
terface
Control
specifies
the
scribes
the
acter
Document
layout
(ICD),
of each
length
field
by an In-
a tabular
of a message
length
if the
is specified
with
form
field-by-field.
that
and
gives
selected
tems
supplied
by personnel
Center
viewed
to
its
who
were
ysis
of
data
for
obtained
not
the
were
otherwise
to
OGI
would
were
being
the
were
nents.
The
both
subjects
technologies,
sample
Intermetrics,
These
tions
Inc.
subjects
persons
first
or anal-
3.5
test
contracted
were
selected
Each
gramming
They
domain.
had
There
subjects
in conducting
the experiment,
experience
was
a disadvantage
experiment
facility
sion
required
in
trials
subjects
in
using
were
in Cambridge,
of the
were
are
but
order
MTV
conducted
Massachusetts.
was provided
and
years
To
to
and
were
then
in
in the
the
reverse
applica-
put
that
Templates.
subject
in
each
mented
at
The
Intermetrics
to use MTV
were
assigned
545
the
per-
formats
and
format
through
consisted
Eight
of the
chosen
tasks
there
were
to
subjects.
six of the
to individual
with
The
subjects
that
in
the
initial
to
ICDS,
then
imple-
selected
ex-
and
sequences
were
a subject
were
tasks
MTV-G
task
imple-
there
initial
subject
randomly
done
Templates.
technologies
was
thus
four
be
se-
56 modifications
112 maintenance
tasks,
eight
modifications
specifications
Each
mes-
simulated
formed
and
the
of ICDs
initial
for
cumulative
message
to the constraint
two
not
translation
was simulated
were
28 maintenance
were
would
message
specifications
tasks
14 were
in-
in advance
as a message
implemented
that
of the
by Intermetrics.
new
activity
technology.
cept
subject
supervi-
for
thus
among
or
the
as individuals.
Each
three
told
developing
software
of seven
of the
design
and
to measure
in
maintenance
ICD,
Each
feedback
experiment
designed
both
formats.
The
initial
user
sequences
specifications
be assigned
Ada
them
an
data
infor-
of changes.
each consisting
24 initial
of them
was
their
what
privacy
performance
trial
message
format
mented
somewhat
required
their
packages
initial
told
were
the
UNIX
that
recorded
any
subjects
MTV
not
environment
in
controlled
informed
subject
the
series
and
on identical
were
without
Maintenance
in all.
two
but
protect
12 independent
ries,
pro-
of the
Direct
and
trained
were
The
of subjects
maintenance.
in
and
at the
conwere
subjects
in a restricted
collected
validation
sage
males
to
to
development
environment
data,
maintaining
for
super-
Ada
it was felt
not
peThe
experiment
were
two
MTV-G
were
the
technology
in its
of
two
and
trials.
they
in each
subjects
experiment
The
with
qualifica-
probably
tasks
the
use of
experiment.
similar
two
knowledge
over-qualified
the
a BS or MS degree
one to three
use
recorded.
a cumulative
to have
no prior
These
in
the
over
a ten-day
of the
was varied:
and
Experiment
evolves.
compo-
experience
to provide
trials
held
and had
experience.
females.
trained
to beginning
to conduct
science
development
MTV
hands-on
and experience.
computer
tion
were
prior
in parallel
of specified
including
problems
vise four
engaged
the
to evaluate
The
maintenance
trainers
be monitored,
data
be used
and
subjects
use
which
experience
The
of the
that
specification,
simulated
in
in
automatically,
tegrity
personnel
acceptance
work
in
Four
trained
worked
intervention.
Subjects
and
experiment
monitoring
formance
3.2
Generator
of the
order
subjects
mation
review,
in the design
generate
reOGI
on points
After
to other
involved
Sys-
the
clarification
given
of the
collected
Environment
workstations.
were
were
by
inconsistency.
experiment,
each
They
trials
MTV
start
The
in
Work
The
intended
Electronic
AFB.
of
the
during
Templates,
3.4
char-
experiment
Force
beginning
or apparent
specifications
who
Air
at Hanscom
the
manager,
of ambiguity
use in the
at the
(ESC)
prior
project
the
for
of
prior
experiment
ICDS
were
order.
interpretation.
The
a par-
It pre-
or a terminating
is variable,
that
provided
training
first
signed
him/her
was
also
work.
The
MTV
data
environment
persons
scaling.
use
were
their
subject
informed
he experiment.
to the
subjects
each
which
of the
in
monitoring
encountered.
format
form,
Templates
trained
Air
of training,
oft
Training
vari-
variant
course
MTV
character-
and numeric
were
C31
and
start
consent
uses to be made
Variable-
in a single
ranges
Force
message
Both
the
ticipant
in detail.
of fields
Up
specified
specified
rich
included.
lists
occurred.
Air
individual
40.
Training
At
experiment
of different
are quite
in
approximately
optional
patterns
Some
a number
types
bit-based
fields,
string
from
the
unclassified
specifications
7 to
and
for
actual,
of field
from
length
ant
from
These
number
based
specifications
specifications
systems.
The
3.3
specifications
14
that
randomized,
alternated
use
six
No
tasks.
subject
was
message
task
assigned
to
specification
assigned
technology
3.5.1
to
implement
in both
a subject
in which
the
Out-of-order
the
same
technologies.
required
subject
task
use
experiment
a test
first
of the
was trained
The
initial
The
test
same
first.
a module
Although
the maintenance
in random
also
constrained
maintenance
decessor
blocked
task
not
it often
on his/her
of a predecessor
whose
task
a predecessor
next
assigned
were
many
3.6
before
subject
task
start
with
to obtain
tasks
did
not
active
allow
Subjects
to
checked
pertinent
until
envi-
monitoring
logged
than
one
were
outside
to
exit
from
the
ifying
not
related
to the
not
to work
on exper-
environment.
was confirmed
ex-
and
were
never
on
which
and
views,
subjects
the
versations
concerned
and
bug,
work-
3.7
that
passed
so.
In
problems,
problems
with
the ICD
currently
working.
general
technical
their
and
acceptance
such
as a suspected
or the environment,
Ada
an
acceptance
messages
and
of the
test
and
whose
25 that
message
of a task
data
comprised
the
accep-
of scope
the
task
able
the
task
with
MTV
the
design
were
task.
be tested
only
package.
The
to
validate
the
technology.
of one
they
the
support
or suggest
unless
they
an extended
en-
was that
by the subject
to allow
no attempt
were
would
to be done
remedy
person,
and
instruc-
that
either
such
out-of-
the intended
tasks
intended
be
MTV
contact
with
features
be written,
However,
report
further
For
it was
other
MTV-G,
to be completed.
technical
to
subject
provided
would
or the
received
assem-
would
support
with
the
were
ICDS,
specifications
instructed
to be done
that
trials
Force
technical
until
Templates,
to provide
used
Air
message
to supply
of MSL
Success-
the
in either
of existing
task
was
data.
Ada
were
off-
result-
to confirmation
could
an
subject
actions
The
test
solution
to their
For tasks
the
these
terminated
data
amount
package,
subjected
tests
ac-
to actu-
tasks
Subjects
problems
prior
translation,
acceptance
some
for
full-function
complete
the
task
was made
extensions
specifically
ei-
to the basic
requested
by
a subject.
ticipated
was
specification
violated
Com-
its
program
that
to require
completion
recorded.
passed
overnight.
compiling
a variety
As it turned
for
then
test
the data
technology
criteria
criterion
was
same
Out-of-scope
ther
data
into
acces-
a substantial
the
or
of a common
from
As
breaks
to be completed.
predominantly
accep-
directly
could
an Ada
Templates
same
or by the
con-
code.
of these
new templates
inter-
technical
test-
For
provided
of initiating
the
MTV
version
spec-
post-experiment
that
duration,
implementation
acceptable
were
the
reported
completion
normal
the
one another
testing.
for unit
module
to run
lunch
building
tion.
collaboratively
were
it
to
were
pre-loaded
not
when
option
package
suspend
arounds.
Task
The
to work
they
of short
general
compiler
not
been
compile
the
after
scope
in post-experiment
did
were
told
to show
were allowed
questions,
and
solution.
Conformance
data
were
of an MTV-G
completion
out
tasks
had
that
a subject
Ada
against
remedy
a task
They
Ada
bled
environ-
also asked
the
rule
subjects
on tasks
during
Since
interviews.
The
line,
3.8
task
data
Generator
required
anticipated
personal
work
build
allowed
environment
more
was
completion
to the task.
the subject
runs
recorded.
outcomes
MTV
testing
The
the
test
not
capability,
was
in
monitoring
have
requested
They
this
to files
The
was preWhen
the
then
ful
time.
tasks
with
assignments
he/she
accessible
a subject
to perform
iment
There
Test
or accept ante
own
occurred
generating
ing
experiment.
experiment
access
were
periment.
the
task,
the
completion.
at any
ment
of order.
Test
a subject
test.
ally
his/her
test
provided
by
created.
were
in files
of a task
of time
occurred.
of task
of
a new
files remained
the
it out
this
schedule
identifier
ronment
perform
to
the
to subjects.
tests
the
obtained
These
In or-
completion
progress
testing,
ceptance
a subject
awaiting
to
outcomes
prototyping
comple-
subject.
the
Because
was
rules
A randomized
pared
pending
another
allowed
and
a subject
testing
environment
tance
its preworked
in the experiment,
cases in which
Work
that
was blocked
was
task
by
flow
until
subjects
assignment
task
work
Since
been
his/her
pletion
had
unit
sible
was
that
provided
the
to sub-
tasks
of modifications.
happened
next
assigned
of these
be performed
completed.
rates,
assigned
were
ordering
sequence
could
been
der to maintain
of
tasks
the
by the
had
at different
tion
order,
be invoked
as either
and
environment
could
A subject
tance
jects
monitoring
that
identified
ing
performance
harness
25
specifi-
alyzed
the
to find
work-arounds
which
546
fewer
by the OGI
requesting
cation.
out,
out-of-scope
task
research
tasks
The
to complete
requested
than
team
specifications.
modifications.
a subject
MTV-G
extensions
were
had
when
they
subjects
most
There
was
and
received
tasks
a single
deemed
been
first
were
ananable
without
case in
an extension
to the
MSL
specification
language
to
allow
a task
4.1
to
be completed.
Several
tasks
required
templates
in order
Templates.
The
making
the
plates.
to
necessary
to modify
the
were
tasks
subjects
that
could
or modifying
MTV
successful
to the
did
not
or add
with
generally
modifications
the
problems
creating
complete
subjects
However,
scope
the subject
Ada
encounter
be handled
in
tem-
Data
over
a series
analysis
of variance.
pothesis
that
sources
The
experiment
were
Data
extracted
experiment
from
a large
that
were
computer
environment
amount
directly
files
consist
maintained
effort
subjects
allocation
multiple
by the
is being
of
on
tribute
reports,
a weekly
effort
hours
submitted
basis.
These
by
and
at-
was
assessment
filled
out
forms,
by
a subject
each
task,
or at the
still
being
attempted.
tions
that
scale
the
can
In
design
as order
runs,
the
the
the
outcome,
if relevant,
activity.
The
account
Edit
summaries
edit
Subject
each
to
subject.
The
scripts
This
of the
The
was
were
The
taped,
were
in the
outcomes
design
all
design
that
the
con-
relative
tasks.
differences
between
with
re-
a confidence
experiment
to
flexibility
was
meet
hypothesis
varied
specifica-
was that
to at least
specification
as can
demonstrated
Scope:
the
the
MTV
as many
the
MTV
by examining
spectrum
could
Gen-
instances
Templates.
several
charac-
of problem
instances
that
handle;
Extensibility:
handle
detailed,
held
ex-
the
ability
out-of-scope
prepared
Performance:
Ada
In the
prepared
and
System
pilable
5.1.1
with
to respond
been
eliminated
familiarity
to
modify
a system
to
problems;
conclusion
of the
asked
had
answers
activity.
were
order
prior
used
teristics:
to save
a finely
completion
that
interviews
subjects
logs.
at the
gives
of the
solution
RCS
interviews
subject
This
its
a de-
technologies,
confirmed
can be configured
of message
flow.
of editing
After
The
builds,
by the
Other
tions
activities
provide
subjects.
was
been
Flexibility
erator
accessed
technologies
or greater,
Results
sub-
and
have
of 99%
two
the
noted,
differ-
among
factor
individual
5.1
session
activity
files
archive
of questions
in advance.
which
from
summary
individual
a series
the
the
was programmed
perceptions.
periment,
the
work
RCS
session.
time-stamped
at
summaries
extracted
to the
record
to
the
observed
and
were
or
observable
unaccountable
of the
level
experiment
which
of each
of on-line
file
of each
of
of the
compilations,
and
session
environment
images
at
times
type
experiment
the
These
times
transactions,
etc.)
tailed
by
task
otherwise
means
the
Analfactor
experiment,
with
of use of the
An
variability
ported
of this
technologies
Unless
on a
usability
the
complexity
logged
ended,
(edit
was
perception
the
in
particular
tributed
of ques-
a number
subjects
and
environment.
and
if a task
were
be as-
a single
to the
be correlated
differences
other
the unaccount-
distributed.
account
tested.
such
the
into
relationship
the
an analysis
can reasonably
normally
of
by ran-
all conceivable
Then
whose
of the experiment.
completed
a series
with
with
form
environment.
identifier,
occurred
asks
the
task
summaries
began
test
assess
and
monitoring
jects
of a week,
It
of the
technology
Session
end
assessment
as he/she
be answered
of 1-5 to
difficulty
A task
can take
value
for
In
an
of the hy-
of the observable
tested.
and
individual
factors,
to tasks.
values.
are observed
in performance
the
be accounted
variation
are being
could
test
to eliminate
of
using
in the mean
factors
of training
Task
observed
that
that
ences
the
reports
in the
ysis of variance
or
factors
Task
cannot
to be random,
performance
compared
is a st atistical
metric
that
the
were
differences
of systematic
those
sumed
of data
reported
This
it is important
able variations
produced
forms.
compared
of trials
observed
variation
of variance
templates.
analysis
subjects
dom
by
collection
in several
of
directly
than
4
hod
that
a performance
out-ofsimply
Met
Data
tered
tran-
erator
for
Scope
course
scope
547
the
for
Extensibility
of the
experiment,
and nine
The
problem
out-of-scope
MTV
of specifications
ability
problem
and
one out-of-scope
Templates.
analysis.
code
the
subjects
in using
problems
Generator
than
to produce
did
com-
instances;
using
handled
the
encoun-
the MTV
MTV
the
GenMTV
a broader
Templates.
To
handle
were
the
developed
MTV
out-of-scope
for
Templates.
extension
to
compass
the
tension
it
team
For
the
not
MTV
MTV
language
was
problem.
the
designed
expertise
and
to
en-
this
ex-
subjects
of the
implemented
300
them-
OGI
effort
two
reported
by
technologies
each
subject
on equal
in
numbers
lan-
g 200
suc-
:150
MSL
total
of the
250
research
the
the
each
of tasksl.
a minor
sufficient
the
using
and
However,
by
1 shows
extensions
Generator
Generator,
be provided
required
who
the
MSL
problems,
the
out-of-scope
could
selves;
both
guage.
Extension
cessful
of the MTV
in
handling
the
Extensibility
was
gained
ming
ability
duce
new code
instances,
new
accepting
scope
nine
not
:100
program-
them
handled
of
not
of the
within
by
workarounds
One-third
resolved
50
to pro-
in the majority
were
by finding
solutions.
were
Ada
allowed
However,
but
encountered.
the
problems
templates,
partial
problems
that
templates.
problems
was partially
through
subjects
extensibility
writing
the
of the
Templates
or
out-of-
the course
CD
Subject
of
experiment.
Figure
5.1.2
Beginning-to-end
system
of the
12 initial
maintenance
with
specifications
modifications
MTV
were
Templates.
and
the
unusual
typing
strategies
within
resulted
in Ada
code
manifested
error
that
abandonment
Of the
completed
with
G failed
to
within
the
to
the
fully
for
piler
V1. 1 (j)
still
components,
limits
on line
ing for
the
prototyping
exceed
length
and
did
file
these
Ada
the
some
size.
All
solutions
so that
the
impede
lack
The
30
be more
hypothesis,
productive
with
the
for each
technology.
product
required
of each
same,
so the
inversely
effort
proportional
required
The
was modified
development
second
test-
was done
at the
mode
Generator
at the
the
tasks
to simulate
pro-
corresponds
to
tasks.
ex-
In.
*co
:mod
cuwcoco
Effort
will
this
Figure
(log)
the
work
2: Distribution
of effort
hours
per
task.
1The time logged by subjects in support tasks, such as developing or modifying templates to support out-of-scope specifications, investigating
problems with acceptance data, or diagnosing compiler errors, was not counted as effort expended in
performing the assigned tasks.
work
ostensibly
productivity.
Hours
technol-
experiment,
to perform
mode
with
Ada
the
developers
was
axis
scale.
code
acceptance
through
that
In this
to his/her
modes.
is associated
The
tails
a logarithmic
MTV
subject
two
the
horizontal
capacity
shows
using
the
com-
generated
improvement
productivity
by
a specification
:0
Productivity
Because
extended,
in
are dis-
success-
Ada
of a generated
progress
2.
hours
problems
code
Sun
Figure
completed
effort
task
periment.
5.2
tasks
problems
compiler-defined
Generator
not
of the
of
of hours
maintenance.
of tasks
reported
are
compressed
number
original
improvement
solved
handle
which
level,
component
three
capacity
However,
cannot
MTV
for
gram
MTV-
chart
distribution
smaller
all were
the
been
in which
However,
produces
instances.
to accomplish
of number
versus
distributions
Each
in the
tasks,
Post-experiment
now
has
sequence.
space
subsequently
generator
all
code
and
generator.
generator
and
Ada
in
of the
Templates
resulting
distributions
technology
played
but
an unrecoverable
Generator.
time
each
expressed
MTV
56 maintenance
MTV
generate
due
the
of the
and
the
task
56
use of legal
VI. 1 (j),
of a complete
12 initial
sequences
compiler,
47 of the
successfully
However,
expended
performance
The
Eleven
1: Effort
was
Figure
548
The
tion
ratio
of the
of the
MTV-G
data
relative
were
timate
the
tors.
probability
collected
tal
rather
elapsed
below
spent
in
two
and
gain
effort
The
three
of
times
MTV
to-
identification
reported
on
MTV
Time
docu-
software
soft-
by the MTV
shown
Templates
by
the
domain,
experiment
software
exhibits
technology
of
In
is
reuse
reuse
not
limitation
depends
opportunities.
was
the
a typical
that
on
human
The
always
obvious
post-experiment
on template
Some
Reported
reuse.
of
or straight-
debriefing,
subjects
reuse:
Time
Time
templates
periment.
Not
On-Line*
3,20
for
task:
Elapsed
in
Editor*
nor
generated
of frequently-repeated
and
Templates
Templates/MTV-G
Elapsed
Ratio
per
is represented
reuse-based
commented
of average
family
Productivity
forward.
MTV
the
that
in productivity
editing,
sheets.
Ratios
is reused),
of the
real.
5.2.1
of the
time
For
modules
(which
integration
con-
reported
in
analysis
and
fac-
time
results
spent
on-line,
the
is 99.570.
the
the
time
ware
to unaccounted
from
shows
artifact,
to es-
difference
working
domain
mentation
These
to use of the
level
subjects
measures:
time
time
than
obtained
table
effort
subject
of the
results
was 2.92.
observed
inal
with
of variance
is attributable
significance
measures
The
the
indica-
observed
an analysis
that
calculated
the
hours.
is a direct
Templates,
to
technologies,
Other
firm
to MTV
on 57 tasks
The
which
improvement
subjected
the means
different
means,
productivity
2.67
2.92
were
I do not
all templates
ing,
and
had
a new
never
know
were
we had
used
what
covered
to discover
application
in the
they
ex-
do.
in the train-
them
when
requiring
the
we
tem-
plate.
* collected
automatically
For reuse
The
small
ment
ity
number
posed
a risk
differences
other
their
measured
to 3:1.
These
vation
differences
but
similar
it
can
be expected
and
include.
to
of software
typically
be
thesis
It
gained
accounts
by
the
to hold
for
sorts
obser-
for only
activity
they
wisdom
do
that
the
alone,
and
experiment
accounts
for
far
It encompasses
conversion
(the
ICD)
a specification,
unit
testing
into
of a solution.
there
productivity
as that
activity
at
that
language.
by
occur
their
inclusion
through
different
for
templates
sites
the same
be-
Distribu-
description
with
non-standard
the
tech-
reimplement
extension.
templates
That
ac-
and inhibits
more
than
of application
MTV
module
sured
the
just
in
this
they
coding.
coding
account
number
given
as much
believed
was correct.
and
the
first
additional
549
of their
own
until
If a module
that
its
reliability
we
tests
to completion
to the subjects
submission,
the
a system,
of acceptance
testing
time
of
in
was necessary,
for acceptance
for orig-
indicator
operating
to pass prior
instructions
requirements
design,
It does not
for
a predictive
has failed
of the total
accounted
plus
engineers
Reliability
As
perform
and
in MTV-
extensions
is no opportunity
that
new
the specifi-
is managed
to accomplish
in
understood.
using
of a language
leaks
file
Enhancements
of the
There
to reExten-
result
and
language
users
process.
proliferates
5.3
productivity
what
7 to 15 per cent
monitored
to all
when
tivity
in a project.
The
as MSL
needs
template
management.
is accomplished
versions
templates
user
solution
as a vehicle.
of reuse
nology
to these
Templates
of enhancements
an accepted
and
file
to be documented
in MTV-G
in updated
for
the
individual
reuse.
improving
in coding
MTV
available
tion
in
all subjects
of these
consider
a scheme
language
come
did
observed
particular
of each
G are expressed
experience.
is conventional
engineers
that
Templates,
purpose
have
the
Reuse
subject,
This
of MTV
files
cation
of up
MTV-G
the same.
the implications
to
that
observed
using
are not
is important
is little
the
training
In evaluating
cost
was nearly
with
their
every
to
template
in
performance
the
must
sions
with
of having
by ratios
For
and
1 shows
differences
between
in productivity
subjects,
do not
the
experi-
matched
Figure
technologies.
Templates
differences
well
differed
with
two
in spite
in individual
strongly
is consistent
data,
were
of productivity
the MTV
with
who
the
be reproducible
that
and experience,
use of the
ratio
would
however,
productivities
correlate
the
the productiv-
individuals
of education
not
in
that
Note,
levels
their
used
we observed
subjects.
selected
of subjects
to the conclusion
member
that
they
a module
that
testing
they
not
confident
failure
score
test
was
as
submit
passed
an acceptance
The
could
of a module
should
were
an
mea-
of the task.
were
and
of
have
it
that
it
test
on
zero.
Each
was run
on the
40
5.4.1
35
On
Perceptions
the
rate
task
from
assessment
1 (easy)
encountered
30
MTV-G
%
20
5
for MTV
and
the
was
2.8.
for
This
problem
tions
test
When
failures.
the
ment?,
added
not
test
run.
the
The
module
Figure
same
for
graph
for
point,
a task
MTV
accept ante
0.8;
for
MTV
firms
the
were
number
defects
with
MTV-G.
5.4
to
tem
test
this
ratio
runs
size.
Sometimes
they
were
tory
workarounds
field
across
appear
MTV-G
tasks
is
caused
These
data
tions.
which
con-
as variable-length
difference
with
a 97%
2.3 in the
the hypothesis
in modules
that
implemented
Usability
programmer
ogy.
For
were
required
tem
problems
MTV-G
Users
perceptions
assessment
cluding
work
forms
were
captured
completed
on each
task
both
immediately
and
in
the
after
task
con-
sues.
in the post-experiment
dle system
debriefings.
and
flexibility
5.4.2
The
ing
sults.
550
subjects
two
Their
numeric
issues
also
implementa-
representations
variant
record
such
types
with
were
subjects
feedback
limits
spec-
about
productivity
of their
confirmed
some
is-
must
han-
the portability
produced.
gives
systypes.
domain
programmer
program
perceptions
data
non-domain-related
it necessarily
technologies
programmers
to express
into
the dotechnol-
lower-level
of necessary
an application
y of the
from
domain
concerned
Perceptions
the
satisfac-
a large
are isolated
delving
details,
sometimes
creation
the
Whenever
and
partially
Templates
Templates,
be
and
without
hard
anticipated
templates.
MTV
allowed
ifications
MTV
with
to
adjust
an
boundary
of limitations
main
the
Bit/byte
sysrun-
encountered
to
as splitting
new
kinds
only
MTV
and
subjects
needed
seek
and
of the
involved
difficulties,
successful,
fields
using
These
ation
were
within
experi-
subjects
exceeded
to
Requirements
handled
mean
the
that
fields.
problems
identified
The
such
two
is 1.8.
of nearly
they
required
the
technologies.
they
data
accep-
accommo-
in
of flexibility
by
allowing
commenced.
perceived
two
where
handle
of variance,
confirms
are introduced
or
fourth
the
discovery.
before
the
the
ESC,
used
subjects
ex-
specifica-
better
ICDS
represent
problems
one outlying
for
it
problem
limits
of
the
the
generate
experiment
limitations
data
by
to
the
biased
problem
technology
range
the
show
graphs
of
frame-
generated
had
time
the
aa identified
limits,
scaling
(The
before
while
15 failures
These
tasks
of
The
test
technology.
part
volunteered
provided
of the four
In general,
distributions.
to an analysis
of failed
not
were
passed. )
Templates
levelz.
fewer
does
of failures
significance
confidence
applied
of acceptance
in each
there
number
subjected
was
the
post-experiment
had
The
enough
between
Templates
time
Templates
Poisson
mean
on a mod-
an acceptance
data
distribution
for which
tests
Work
passed
of test
performed
to approximate
were
the
tasks
it
run.
3 shows
failures
The
suite
on each
score.
until
on
in the
as a result
Which
G technology,
was
wsa 1.9
implementations
subjects
personnel
been
entire
three
that
of MTV-G.
data
in flexibility
module
to
average
in the MTV-G
four
and
only
asked,
dated
ule
The
a perception
flexibility
OGI
actually
personnel
tance
of failures
that
in favor
had
OGI
8910
test
Templates
of the
instances
periment
of acceptance
asked
of difficulty
implementations
to note
two
misconception
3: Distribution
MTV
indicates
It is interesting
Figure
were
level
a specification.
of greater
debriefings,
Number
the
work.
S15
z
10
01234567
subjects
Generator
average
the subjects
H MTV Templates
forms,
to 5 (difficult)
in modifying
difficulty
2
~ 25
of flexibility
productivity
the
clues
in us-
measured
re-
as to the
rea-
sons
for
Their
their
better
average
all tasks,
formed
from
to
subjects
while
rate
ing on this
the
task,
it
to
average
was
statistically
3.5.
agree)
was
All
4.2
significant
asked
While
to determine
three
with
of these
parts
Temwere
level
not
two
of the
During
the post-experiment
confirmed
more
that
productive
using
maintenance
how
nologies,
of at least
the
plates
stated,
a GUI
are
Ada
the
code;
tion
When
only
like
which
me
code.
the
during
field
widths
that
sub-
isting
template
from
instantiation.
say
5.5
the
using
areas
have
been
Confidence
When
the
forded
them
a given
subjects
of the
the code
directly
misgivings
widely
to
and
in assembly
then
domain-specific
accepted,
the
need
Average
correct
to see the
hours
in the
Ada
desire
Std.
code
both
problems
Also,
one subject
or edit
cues
produced
were
an ex-
gone
definitive
advantage
with
SDRR
after
realized
the
technology
MTV
in the
a lower
rate
developers.
in a direct
to be the best
software
the
results
for
and
applications
past,
to compiled
of
These
comparison
currently
available
components.
quantitative
The
results
of
generated
MTV
Ratio
test
from
8.17
4.2
13.5
O.8
1.8
y:
number
runs
2.92
2.80
task
deviation
Avg.
similar
of
2.25
failed
lanMTV-G
effort
per
Reliability
to check
transition
languages
errors
for
Terndates
Productivity:
Confidence
wanted
of
Templates,
MTV-G
lack
languages
types
problems
results
the
dur-
In the
the
textual
summarizes
con-
about
is the
the
indi-
greater
times
personal
work
analysis:
several
code,
during
the
of
of their
in the
technolo-
difference.
positions.
developing
table
sessions
produce
the
common
Programmers
As
Ada
was compelling.
were
programming
output.
the
generator
moderate,
surfaced
for
following
af-
equally
complaint
debriefing
to examine
only
guages.
that
felt
is believed
technology
correctness
expressed
other
A
solutions
technology
the
four
the
their
which
in
of the
and
post-experiment
of ability
ability
asked
technologies.
technology
ing the
was
three
both
in
confidence
in MTV-G
in
MTV-G
were
greater
solution,
confidence
fident
of subjects
what
Ada
Interestingly,
the two
improvement
from
impeded
Templates,
a difference
MTV
has
defects
easMSL
use of the
to reconstruct
the
of productivity
which
the
editing
a pronounced
advantages
with
5.4.3
bit
constructed
delivered
generation.
and
experiment
Generator
to improve
the
was
the
MTV
between
it was difficult
demonstrating
and
perceive
for
of
it
of problems.
noted
since
Subjectively,
that
the
characterize
Summary
This
descripapproach.
code
and
the
loca-
poor,
measurements
to
was
however,
data.
was a significant
subjects
noted
at
productivity
Ada
with
good
not
to
easy
MTV-G
In particular,
For
insertion
was
ease of error
stated
were
were
the
asked
the
this
errors.
did
It
for
about
with
forms
was 3.0.
subjects
tracing
there
Tem-
would
look
was
that
technologies,
This
offered
although
When
tech-
One
to
disagree)
debriefing,
messages
also
assessment
rating
in MTV-G.
of error
both
MTV-G
improve
suggestion
performance
end
errors
allowed
made,
benefit
make
Ada
how to further
the
generator
the
and
MTV
would
dont
initial
the use of
the
be expected
statement,
Templates
four
messages
specifically
gains.
front
and
remarkably
asked
MTV-G,
for
Solution
go generate
sounds
more
productivity
a text-based
types,
cated
identified
interface
(... Template
or even
these
for
gies,
were
with
subjects
user
as important
for
asked
be improved
of the four
sophisticated
sub-
they
the
consistent
subjects
task
to questions
error
error
all four
that
both
When
could
three
a more
believed
MTV-G,
tasks.
productivity
debriefing,
they
can
1 (strongly
average
MTV
of syntactic
likelihood
jects
ject
were
only
debugger
99%.
for
tion
the
the
post-experiment
location
MTV
with
answers
compilers
MTV-G,
in
(from
The
the
ier to locate
differences
at a confidence
for
During
to
asked
errors.
and
subjects
work-
which
For
while
com-
A greater
were
be completed.
3.5,
was 4.2,
was 3.7.
correctness
agreement
agree))
to locate
was
were
were
their
5 (strongly
with
it
MTV-G
subjects
to rate
agreement
a task
for
Subjects
with
task,
the statement,
it was easy
remained
of
when
with
their
this
response
observed
response
plates
parts
response
per-
performed
affirm
diminish.
over
tasks
5 (strongly
on
to subjectively
MTV-G.
15 for
to rate
to
which
agreement
of a task
those
Templates
was
their
37 for
working
average
the MTV
difference
was
asked
While
determine
plete,
using
difficulty
1-100,
disagree)
statement,
easy
and
When
1 (strongly
the
from
MTV-G
Templates.
in
of implementation
on a scale
with
MTV
performance
rating
dling
more
inal
output
551
also
a greater
design
than
exhibited
range
the
superior
of specifications
MTV
Templates.
flexibility
in
han-
within
the
orig-
This
result
was
achieved
despite
already
been
the fact
used
Furthermore,
its
first
MTV-GS
tions,
serious
The
of its
that
with
of the
favored
message
in
1977.
Charles
Plinta}
was
[9]
specifica-
substantially
it or any
experiment
software
MTV-G
although
man.
alleviated
from
similar
about
tion
had
had
the
solution
the
most
advantages
[10] Dennis
important
ware
of generating
promising,
new
tional
that
55-60.
technology
Volpano
A.
A.
Porter
detection
quirements
inspections:
IEEE
it y and
productivity
of
software
replicated
C. Briand,
impact
y in
Communications
Basili.
Formal
re-
In
Conference
IEEE
Engineer-
and Walc61io
of reuse
on
object-oriented
the
ACM,
39
qual-
systems.
(to
appear),
1996.
[3] Don
Batory,
Jeff
Thomas.
ceedings
Vivek
Singhai,
Scalable
of
ACM
Foundations
Marty
software
SIGSOFT
of Sofiware
Sirkin,
libraries.
93f
and
In Pro-
Symposium
Engineering,
on
December
1993.
[4] Jeffrey
and
Bell
et al.
reuse:
November
[5] Pacific
Proceedings,
final
February
for
reliability
demonstration.
pages
In
396-404.
ACM,
Research
Center.
scientific
and
SDRR
project
technical
report,
1995.
[6] Walter
Ellis.
[7] Martin
private
Griss
kits
In
of
Proceedings
Conference,
communication,
and
domain-specific
tions
design
1994.
Software
Phase
Software
A proof-of-concept
94
TRI-Ada
CMU/SEIEngineering
University,
Richard
B.
December
Kieburtz.
Proceedings
on Software
Computer
Waldinger
Towards
Etghth
Engineering,
Society,
Kevin
Wentzel.
for a flexible
1994
ACM
SA C94,
June,
software
Software
pages
47-52,
1993.
Hybrid
factory.
ApplicaMarch
1994.
552
and
kinder,
August
Michael
gentler
of the 1994
Methods.
September
experi-
1995.
Lionel
the
R.
on Soflware
June
Measuring
V.
for
Transactions
R. Basili,
Melo.
and
methods
21(6):563575,
[2] Victor
Risstransla-
SoftInternapages
1985.
components.
Comparing
ing,
Wiley
Michael
Report
Software
Mellon
and
templates.
In Proceedings
ment.
and
John
C31 message
Technical
Carnegie
II.
the Physt-
1989.
References
Votta
Lee,
for
and Ex-
and
volume
12 ESD-89-TR-20,
PHION:
G.
Edition,
and validation.
[11] Richard
[1]L.
Statistics
in Engineering
Kenneth
A model
Institute,
expe-
It has demonstrated
a highly
software
perceptions
no prior
2nd
F. C. Leone.
technology.
specifications.
is indeed
developing
in their
they
has confirmed
hypotheses
SDRR
has been
cal Sciences,
& Sons,
no errors
encountered
and
Design
in
89-TR-
subjects
The
robustness
encountered
large
N. L. Johnson
perimental
version.
usability,
rience
[8]
had
system.
problem
to handle
a problem
in a new
for
subjects
most
inability
Templates
demonstrated
the
The
the MTV
in a deployed
MTV-G
trial
MTV-G.
that
1994.
U.S.
Naval
Monterey
Lowry.
formal
AMmethods.
Workshop
Postgraduate
on
School,