ABSTRACT
Static analysis tools are frequently used to scan the source code and detect deviations from the project coding guidelines. Yet, their adoption is challenged by their high false positive rate, which makes them not suitable for students and novice developers. However, Large Language Models (LLMs), such as ChatGPT, have gained widespread popularity and usage in various software engineering tasks, including testing, code review, and program comprehension. Such models represent an opportunity to reduce the ambiguity of static analysis tools and support their adoption. Yet, the effectiveness of using static analysis (i.e., PMD) to detect coding issues, and relying on LLMs (i.e., ChatGPT) to explain and recommend fix, has not yet been explored. In this talk, we aim to shed light on our experience in teaching the use of ChatGPT to cultivate a bugfix culture and leverage LLMs to improve software quality in educational settings. We share our findings to support educators in teaching students better code review strategies, and to increase students' awareness about LLM and promote software quality in education.
Index Terms
- How can We Leverage Static Analysis and Large Language Models to Engage Students in Software Quality Improvement
Recommendations
On the Use of Static Analysis to Engage Students with Software Quality Improvement: An Experience with PMD
ICSE-SEET '23: Proceedings of the 45th International Conference on Software Engineering: Software Engineering Education and TrainingStatic analysis tools are frequently used to scan the source code and detect deviations from the project coding guidelines. Given their importance, linters are often introduced to classrooms to educate students on how to detect and potentially avoid ...
Benefit and Cost Analysis of Massive Open Online Courses: Pedagogical Implications on Higher Education
There has been much research done on online learning including research on online educational activities and methods. The use of technology is gaining rising importance in higher education due to the benefits that it brings. In terms of adopting new ...
Comparing Code Explanations Created by Students and Large Language Models
ITiCSE 2023: Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1Reasoning about code and explaining its purpose are fundamental skills for computer scientists. There has been extensive research in the field of computing education on the relationship between a student's ability to explain code and other skills such ...
Comments