Write a Blog >>
ICSE 2023
Sun 14 - Sat 20 May 2023 Melbourne, Australia
Fri 19 May 2023 11:30 - 11:45 at Meeting Room 106 - Static analysis Chair(s): Marsha Chechik

Linting is the process of using static analysis tools to scan the source code and detect coding patterns that are considered bad programming practices. Given their importance, linters have been introduced in the classrooms to educate students on how to detect and potentially avoid these code anti-patterns. However, little is known about their effectiveness in raising students’ awareness, given that these linters tend to generate a large number of false positives. To understand and increase the awareness of potential coding issues that violate coding standards, in this paper, we aim to reflect on our experience with teaching the use of a static analysis tool for the purpose of evaluating its effect in code review with respect to software quality from the point view of educators in the context of Master’s students in SE/CS who analyze Java-based software projects. This paper discusses the results of an experiment in the classroom, over a period of 3 academic semesters, and involving 65 submissions that carried out code review activity of 690 rules using PMD. The results of the quantitative and qualitative analysis show that the presence of a set of PMD quality issues influences the acceptance or rejection of the issues, design and best practices-related categories take longer time to be resolved, and students acknowledge the potential of using static analysis tools during code review. Through this experiment, code review can turn into a vital part of the educational computing plan. We envision our findings enabling educators to support students with code review strategies in order to raise students’ awareness about static analysis tools and scaffold their coding skills.

Fri 19 May

Displayed time zone: Hobart change

11:00 - 12:30
11:00
15m
Talk
DLInfer: Deep Learning with Static Slicing for Python Type Inference
Technical Track
Yanyan Yan Nanjing University, Yang Feng Nanjing University, Hongcheng Fan Nanjing University, Baowen Xu Nanjing University
11:15
15m
Talk
ViolationTracker: Building Precise Histories for Static Analysis Violations
Technical Track
Ping Yu Fudan University, China, Yijian Wu Fudan University, Xin Peng Fudan University, Jiahan Peng Fudan University, Jian Zhang Fudan University, Peicheng Xie Fudan University, Wenyun Zhao Fudan University, China
Pre-print
11:30
15m
Talk
On the use of static analysis to engage students with software quality improvement: An experience with PMD
SEET - Software Engineering Education and Training
Eman Abdullah AlOmar Stevens Institute of Technology, Salma Abdullah AlOmar NA, Mohamed Wiem Mkaouer Rochester Institute of Technology
Pre-print
11:45
15m
Talk
Long-term Static Analysis Rule Quality Monitoring Using True Negatives
SEIP - Software Engineering in Practice
Linghui Luo Amazon Web Services, Rajdeep Mukherjee Amazon Web Services, Omer Tripp Amazon, Martin Schäf Amazon Web Services, Qiang Zhou Amazon Web Services, Daniel J Sanchez Amazon Alexa
12:00
15m
Talk
A Language-agnostic Framework for Mining Static Analysis Rules from Code Changes
SEIP - Software Engineering in Practice
David Baker Effendi Stellenbosch University, Berk Cirisci IRIF, University Paris Diderot and CNRS, France, Rajdeep Mukherjee Amazon Web Services, Hoan Anh Nguyen Amazon, Omer Tripp Amazon
12:15
7m
Talk
GradeStyle: GitHub-Integrated and Automated Assessment of Java Code Style
SEET - Software Engineering Education and Training
Callum Iddon University of Auckland, Nasser Giacaman The University of Auckland, Valerio Terragni University of Auckland
12:22
7m
Talk
The Challenges of Shift Left Static Analysis
SEIP - Software Engineering in Practice
Quoc-Sang Phan Facebook, Inc., KimHao Nguyen University of Nebraska-Lincoln, ThanhVu Nguyen George Mason University