Predictive Software Measures Based on Formal Z Specifications
BACKGROUND: The success of software development projects depends highly on meeting the assigned schedule and budget of the project which are often defined in terms of a project plan. Estimation is the basis for planning; therefore, having a reliable way of estimating effort needed to perform the tasks is a must for a reliable project plan. Already in 1987, Samson, Nevill and Dugard, showed that there is a strong and direct influence of formal specification metrics onto the effort needed for implementation. Since then, there has been some progress in various aspects of formal specifications; the introduction of specification slicing methods, slice-based specification metrics, and methods for visualization of specifications has opened new ways for measuring properties of specifications with more metrics. Nevertheless, there hasn’t been much progress in the field of cost estimation using recent achievements of formal specifications. METHODS: The main focus in this thesis work is to examine if there is a correlation between formal Z specification measures and implementation related measures. In concise, this work tries to explain the correlation between the measures in specifications and the measures in code which can be used as input parameters in currently existing software cost estimation models to estimate the total cost of software. This is examined through an experiment which is conducted via measuring 28 subjects using 11 metrics in specifications and 4 metrics in code. CONCLUSION: The results of this thesis work show the size of code, which is the main input parameter of outstanding software cost estimation models, is predictable from formal Z specifications. There are proofs which show that 3 out of 4 investigated metrics in code are in correlation with the metrics in formal Z specifications.