Survival Analysis in the Context of Software Engineering

Survival analysis, a statistical methodology used primarily in medical and biological sciences, is used to predict the time until an event occurs. In these fields, survival analysis is most often used to evaluate how a particular treatment affects the lifetime of a patient affected by a particular disease. Survival analysis allows us to determine 1) what factors (covariates) affect the time-to-event (i.e., getting the flu or getting a software defect) and 2) who or what (i.e., patients or source code files) will experience an event given an interval of time.

We are using survival analysis techniques to model source code defects in large-scale software systems. Such modelling allows for a more accurate allocation of software quality resources based not only on where source code defects appear, but when these defects appear.

Set your Twitter account name in your settings to use the TwitterBar Section.