Write a Blog >>
ICSE 2023
Sun 14 - Sat 20 May 2023 Melbourne, Australia
Fri 19 May 2023 16:00 - 16:15 at Level G - Plenary Room 1 - Software quality Chair(s): Valentina Lenarduzzi

Static analysis tools are widely used in software development. While research has focused on improving tool accuracy, evidence at Microsoft suggests that developers often consider some accurately detected warnings not worth fixing: what these tools and developers consider to be true positives differs. Thus, improving tool utilization requires understanding when and why developers fix static-analysis warnings.

We conduct a case study of Microsoft’s Banned API Standard used within the company, which describes 195 APIs that can potentially cause vulnerabilities and 142 recommended replacements. We find that developers often (84% of the time) consciously deviate from this standard, specifying their rationale, allowing us to study why and when developers deviate from standards. We then identify 23 factors that correlate with developers using the preferred APIs and build a model that predicts whether the developers would use the preferred or discouraged APIs under different circumstances with 92% accuracy. We also train a model to predict the kind of APIs developers would use in the future based on their past development activity, with 86% accuracy. We outline a series of concrete suggestions static analysis developers can use to prioritize and customize their output, potentially increasing their tools’ usefulness.

Fri 19 May

Displayed time zone: Hobart change

15:45 - 17:15
15:45
15m
Talk
DuetCS: Code Style Transfer through Generation and Retrieval
Technical Track
Binger Chen Technische Universität Berlin, Ziawasch Abedjan Leibniz Universität Hannover
16:00
15m
Talk
Understanding Why and Predicting When Developers Adhere to Code-Quality Standards
SEIP - Software Engineering in Practice
Manish Motwani Georgia Institute of Technology, Yuriy Brun University of Massachusetts
Pre-print
16:15
15m
Talk
Code Compliance Assessment as a Learning Problem
SEIP - Software Engineering in Practice
16:30
15m
Talk
An Empirical Study on Quality Issues of Deep Learning Platform
SEIP - Software Engineering in Practice
Yanjie Gao Microsoft Research, Xiaoxiang Shi , Haoxiang Lin Microsoft Research, Hongyu Zhang The University of Newcastle, Hao Wu , Rui Li , Mao Yang Microsoft Research
Pre-print
16:45
7m
Talk
Can static analysis tools find more defects? A qualitative study of design rule violations found by code review
Journal-First Papers
Sahar Mehrpour George Mason University, USA, Thomas LaToza George Mason University
16:52
7m
Talk
DebtFree: minimizing labeling cost in self-admitted technical debt identification using semi-supervised learning
Journal-First Papers
Huy Tu North Carolina State University, USA, Tim Menzies North Carolina State University
Link to publication Pre-print
17:00
7m
Talk
FIXME: synchronize with database! An empirical study of data access self-admitted technical debt
Journal-First Papers
Biruk Asmare Muse Polytechnique Montréal, Csaba Nagy Software Institute - USI, Lugano, Anthony Cleve University of Namur, Foutse Khomh Polytechnique Montréal, Giuliano Antoniol Polytechnique Montréal
17:07
7m
Talk
How does quality deviate in stable releases by backporting?
NIER - New Ideas and Emerging Results
Jarin Tasnim University of Saskatchewan, Debasish Chakroborti University of Saskatchewan, Chanchal K. Roy University of Saskatchewan, Kevin Schneider University of Saskatchewan
Link to publication Pre-print