Senior software engineer

Developer usage of static analysis tools

Past research in the usability of static analysis tools has focused on usability issues encountered by software developers, and the causes of those issues in analysis tools. We adopt a user-centered approach, to understand how developers use analysis tools, which decisions they make, what they look for when making those decisions, and the motivations behind their strategies.

Through a survey of 87 developers in industry, we report on the usage context and motivations of developers for using static analysis tools in practice, and explain how they motivate different usage strategies.

In another study, we focus on four static analysis tools and perform a heuristic walkthrough and a user study to identify recurring problems in the UIs of static analysis tools.

Those two studies allow us to derive new tool requirements that closely support software developers, and open novel avenues for further static-analysis research such as collaborative problem-solving for analysis warnings.

In a position paper, we discuss the application of those requirements to SWAN, a security-focused static-analysis tool for the Swift programming language.