A root cause is a source of software defect, whose removal decreases or removes the defect. A root cause of software defect is injected into the software by software engineers during the development process. One of the main concerns of the software team leader, such as the project manager, is to determine who injected various root causes of the defects into the software and when these have been injected. In this paper, a cost-benefit scheme is presented, which allows a software team to determine skill weakness and improve team capability. The scheme provides effective in-process feedback based on the causal analysis of software defects. The proposed analysis scheme includes orthogonal root cause definitions, role-based root cause types, and gradational correction actions. In the experiment, the projects of a distributed health-care system are used to verify the efficiency of the proposed scheme. The results show that the root cause ratios (RCR) are 33.8%, 30.6%, 21.9%, 10.7%, and 3.0% in design, implementation, analysis, business and deployment, respectively. The defects in the projects mainly occurred during the design and implementation phases of the projects. Correction activities to enhance the designers' skills, such as exception handling (40.5%) and DB/data schema (25.0%), are the top priorities that must be addressed by the software team. The findings can help the team leader to determine methods to improve these weaknesses.
|Number of pages||20|
|Journal||International Journal of Software Engineering and Knowledge Engineering|
|Publication status||Published - 2013 Nov|
All Science Journal Classification (ASJC) codes
- Computer Networks and Communications
- Computer Graphics and Computer-Aided Design
- Artificial Intelligence