Академический Документы
Профессиональный Документы
Культура Документы
Scott D. Miller
Department of Computer Science; Purdue University
millersd@cs.purdue.edu
Advisors: Aditya P. Mathur (CS) & Raymond A. DeCarlo (ECE)
Proceedings of the 30th Annual International Computer Software and Applications Conference (COMPSAC'06)
0-7695-2655-1/06 $20.00 © 2006
use of statistical/heuristic tables that divide the effort knowledge of the parameter sensitivity and interaction,
estimate into effort per phase. Analysis of the impact of the “what-if” process may be chaotic.
a parameter change in the COCOMO model is simple
given its closed form. On the other end of the spectrum 4. Our Approach
are the custom system dynamics models; such systems
offer the temptation to capture finer-grained process de-
tail at the cost of larger data needs (e.g. calibration of 4.1. Process Modeling and Simulation
multiple probability distributions) and near-opacity to
analysis. We have identified seven processes which dominate
With nearly a half-century of literature on predic- the effort-consumption during the construction phase;
tive modeling, there are too many techniques to cover these are feature coding, test case coding, test case ex-
here. Our intent here is to identify the balance be- ecution: new tests, test case execution: regression, fail-
tween model detail, data requirements, and analytical ure analysis, feature correction, and test case correc-
transparency, as a criterion for evaluation. Two related tion. We begin by building a model of the flows between
works, however, require attention here. these processes; each process produces work product
and by-products which flow to the other processes for
Madnick and Abdel-Hamid [1] are credited with an
processing/consumption. This flow model provides the
early attempt at applying state modeling techniques for
framework for descriptions of the construction phase;
modeling software processes. Their work predicts pro-
it is customized to a particular process by defining the
cess behavior from a much higher level (i.e. the behav-
flow rates as a set of functions in the productivities of
ior of the waterfall development phases.)
the processes.
Recently, Cangussu [5] proposed a state-based
model of the software System Test Phase and applied 4.1.1. Modeling Process Productivity. Software de-
a simple control technique to aid the manager of a test velopment is a set of information processing activi-
process in mitigating schedule slippage. The model has ties. As such, we build a common model of produc-
been industrially validated, and the controller has been tivity based on three assumptions: i) Productivity is im-
demonstrated through simulation. We have proposed pacted by the size of the workload. Based on the phe-
an improved controller [11] for the model given in [5] nomenon of ‘flow’ [8], productivity is reduced if the
which, as with our present work, is based on Model Pre- workload of a process becomes either too large or too
dictive Control [4]. small; ii) There is information-processing inertia. This
is the idea that, given a demand for increased produc-
3.2. Control tivity, one must acclimate to the new pace, i.e. instanta-
neous productivity change is not possible; and iii) There
Literature in Software Process Control has focused is information-processing resistance: is not possible to
on the task of monitoring and adjusting software pro- achieve an arbitrary productivity increase—there is a re-
cesses so that they remain within acceptable limits of sistance which yields diminishing returns on productiv-
operation. Among the approaches are statistical pro- ity improvement effort.
cess control e.g. [6, 9], defined by the philosophy that
“...as long as you perform a process consistently it will 4.1.2. The State-Model Representation. State-
demonstrate consistent results...” [6], discrete event and modeling begins by identifying the set of quantities
hybrid simulations with the familiar “what-if” mecha- which impact the behavior of the system, and proceeds
nism for determining process change [10], and process by specifying the manner in which the quantities
simulation for the purpose of process comprehension change over time (typically using differential equa-
[2]. tions.) In our case, we track the productivity, work
Statistical process control requires the reuse of pro- arrival, and derivatives of these, for each process. To
cess in order to attempt to reproduce the past results. maintain a quality model, we also track quantities
For projects crossing into new domains the statistical derived from these to support fault-injection- and
baseline may be invalid or inappropriate, making adap- test-failure- submodels.
tation a desirable attribute.
The discrete-event and hybrid simulation methods 4.1.3. Modeling Work Arrival. The work-arrival rate
support this on-line re-calibration, but often support (or in-flow) for a process is allowed to be any scalar
only the familiar trial-and-error method for determining function defined in the set of state variables. This is the
appropriate process changes. Given a complex model, manner by which one may customize the flow model to
the trials required may be time consuming, and without a particular development process.
Proceedings of the 30th Annual International Computer Software and Applications Conference (COMPSAC'06)
0-7695-2655-1/06 $20.00 © 2006
4.1.4. The Fault and Failure Submodels. Based on process dynamics change, or simply to acquire a better
the commonality of defect density metrics, we have calibration as more data becomes available.
adopted a linear fault injection model. The test-failure
submodel is based on the Lotka-Volterra predator-prey 5. Current Progress
population model [13] as used in [5] where the failure
model has been industrially validated in the context of We have completed the modeling framework de-
test failure/fault removal progress prediction. scribed in § 5.1, and have implemented the basic min-
imization of the performance index in § 4.2.2. We are
4.1.5. Modeling Discrete Events. Consider that the currently working on the following tasks: i) Generating
project schedule specifies when collections of features the model calibration routines; ii) Planning the valida-
are to be implemented by the coders, also, some pro- tion study; iii) Developing more sophisticated resource
cesses may block until the completion of artifacts from constraints in the controller/minimization routine.
other processes. Thus upon certain events, additional
work items will enter the processes, in turn propagating
References
work item flow to the other processes. These events
may be specified as any boolean combination of in- [1] T. Abdel-Hamid and S. E. Madnick. Software Project
equalities in the state variables. They are relaxed and in- Dynamics. Prentice Hall, 1991.
corporated into the productivity differential equations, [2] C. Andersson, L. Karlsson, J. Nedstam, M. Host, and
and thus are automatically observed during simulation. B. Nilsson. Understanding software processes through
system dynamics simulation: a case study. In Proceed-
4.1.6. Simulation. The system of differential equa- ings of the Ninth Annual IEEE International Conference
tions which describe the model are solved numerically, and Workshop on the Engineering of Computer-Based
yielding plots of the work items remaining in the system Systems, pages 41 – 48, April 2002.
over time—a representation of the schedule. [3] B. W. Boehm et al. Software Cost Estimation with Co-
como II. Prentice Hall, 2000.
[4] E. F. Camacho and C. Bordons. Model Predictive Con-
4.2. Process Control
trol. SpringerPublication, January 2004.
[5] J. W. Cangussu, R. A. DeCarlo, and A. P. Mathur. A for-
Our approach to process control is based on Model mal model of the software test process. IEEE Transac-
Predictive Control (MPC) [4], a technique suited to in- tions on Software Engineering, 28(8):782 – 796, August
corporate a changing environment and, indeed, chang- 2002.
ing goals. [6] D. Card. Statistical process control for software? IEEE
Software, 11:95 – 97, May 1994.
4.2.1. Performance Index. Our performance index is [7] R. N. Charette. Why software fails. IEEE Spectrum,
constructed to quadratically penalize deviations from 42(9):42–49, September 2005.
the given “desired state trajectory” and the magnitude of [8] M. Csikszementmihalyi and I. S. Csikszementmihalyi,
the control input; the minimization of the performance editors. Optimal Experience: psychological studies of
index balances the cost of making the process changes, flow in consciousness. Cambridge University Press,
against that expected with no changes. 1988.
[9] P. Jalote and A. Saxena. Optimum control limits for
employing statistical process control in software pro-
4.2.2. Linearization and Discretization. Evaluating
cess. IEEE Transactions on Software Engineering,
the performance index requires the future state trajec-
28(12):1126 – 1134, December 2002.
tory. By linearizing and discretizing the model equa- [10] R. Martin and D. Raffo. Application of a hybrid process
tions, we can derive a series of step-matrices that con- simulation model to a software development project. In
vert the state at time t to the state at time t + 1; by Proceedings of PROSIM, pages 237–246, July 2000.
applying these rules recursively, and substituting this [11] S. D. Miller, R. A. DeCarlo, A. P. Mathur, and J. W.
representation of the future state trajectory into the per- Cangussu. In Press. a control-theoretic approach to the
formance index, we arrive at a (convex) program to be management of the software system test phase. Journal
minimized over the control variables. of Systems and Software., 2006.
[12] W. Scacchi. Process models in software engineering.
Encyclopedia of Software Engineering, 2nd Edition,
4.3. Calibration
John Wiley and Sons, Inc., October 2002.
[13] V. Volterra. Variazioni e fluttuazioni del numero
The model is intended to be calibrated from data d’individui in specie animali conviventi. Mem. R. Ac-
generated by the current project; thus repetition of the cad. Naz. dei Lincei. Ser. VI, 2, 1926.
calibration algorithm allows the model to adapt as the
Proceedings of the 30th Annual International Computer Software and Applications Conference (COMPSAC'06)
0-7695-2655-1/06 $20.00 © 2006