Brittany Johnson – Why Don’t Software Developers Use Static Analysis Tools to Find Bugs?

To answer this research question, Brittany held interactive semi-structured interviews, during which developers were interviewed, but also worked with static analysis tools to get them more involved in the interviews. Participants were 16 industry developers and 4 grad students.

The results were coded into 6 categories:

  • Tool output (hard to understand)

Capture

  • User input and customizability

Capture

  • Supporting teamwork

Capture

  • Result understandability (lack of concrete suggestions to improve code)

Capture

  • Workflow

Capture

  • Tool design

Capture

One of the important findings is that developers prefer tools that are well integrated into their current tools, for instance run in the IDE or integrate into the compiler.

Also, it helps developers to get a preview of a fix, or being taken through a fix step-by-step, to make it easier to see what is being changed.

Finally, developers want tools to be fast!

This was a very entertaining and interesting talk: a well executed study on an important topic.

Preprint

2 Comments

  1. @joely

    Along this line, in his trenchant “No Silver Bullet” essay, Fred Brooks says: “The most powerful contribution of expert systems will surely be to put at the service of the inexperienced programmer the experience and accumulated wisdom of the best program- mers. This is no small contribution. The gap between the best software engineering practice and the average practice is very wide—perhaps wider than in any other engineering discipline. A tool that disseminates good practice would be important.”

  2. Pingback: ICSE 2013: Four Days of San Francisco | The CHISEL Group, University of Victoria, BC

Comments are closed.