High quality statecharts through tailored, perspective-based inspections

In the embedded systems domain, statecharts have become an important technique to describe the dynamic behavior of a software system. In addition, statecharts are an important element of object-oriented design documents and are thus widely used in practice. However, not much is known about how to inspect them. Since their invention by Pagan in 1976, inspections proved to be an essential quality assurance technique in software engineering. Traditionally, inspections were used to detect defects in code documents, and later in requirements documents. We define a defect taxonomy for statecharts. Using this taxonomy, we present an inspection approach for inspecting statecharts, which combines existing inspection techniques with several new perspective-based scenarios. Moreover, we address the problems of inspecting large documents by using prioritized use cases in combination with perspective-based reading.