04.24.07

Review: Ko's A framework and methodology for studying the causes of software errors in programming systems

Posted in programmer productivity, review at 2:12 pm by ducky

I’m reading A framework and methodology for studying the causes of software errors in programming systems by Ko and Myers that classifies the causes of software errors, and there is a diagram (Figure 4) that I’m really taken with. They talk about there being three different kinds of breakdowns: skill breakdowns (what I think of as “unconscious” errors, like typos), rule breakdowns (using the wrong approach/rule, perhaps because of a faulty assumption or understanding), and knowledge breakdowns (which usually reflect limitations of mental abilities like inability to hold all the problem space in human memory at one time).

Leaving out the breakdowns, the diagram roughly looks like this:

Specification activities
Action Interface Information
Create Docs Requirement specifications
Understand Diagrams Design specifications
Modify Co-workers  
Implementation activities
Action Interface Information
Explore Docs Existing architecture
Design Diagrams Code libraries
Reuse Online help Code
Understand Editor  
Create    
Modify    
Runtime (testing and debugging) activities
Action Interface Information
Explore Debugger Machine behavior
Understand Output devices Program behavior/td>
Reuse Online help Code

I’m a bit fuzzy on what exactly the reuse “action” is, and how “explore” and “understand” are different, but in general, it seems like a good way to describe programming difficulties. I can easily imagine using this taxonomy when looking at my user study.

Comments are closed.