Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3649217.3653545acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article
Open access

Are a Static Analysis Tool Study's Findings Static? A Replication

Published: 03 July 2024 Publication History

Abstract

In 2017, Edwards et al. studied a large corpus of Java programs collected through an automated submission and assessment system that integrated static analysis feedback. They found that errors reported were most commonly related to formatting, but that the frequency of errors they categorized as "Coding Flaws" correlated with program correctness grades. They argued that static analysis feedback could detect problems relating to code correctness and could therefore be useful beyond evaluating conformance to style rules, but that students may overlook non-cosmetic error messages because of the relative volume of formatting errors. In this paper we perform a conceptual replication of the Edwards et al. study with 1270 CS1 students learning Python. We confirm that almost a decade later and even after being instructed to use the auto-formatting options within their IDE, students still encounter mostly formatting errors when using a static analysis tool. We find that the second- most common category of errors detected are "Coding Flaws", and, like Edwards et al., that the frequency of coding flaws identified by the static analysis tool correlates to program correctness. When we examine trends based on levels of prior programming experience, we find that all students tend to make more formatting errors than other kinds of errors, but that students with no prior programming experience have more errors reported across all error categories.

References

[1]
Alireza Ahadi, Arto Hellas, Petri Ihantola, Ari Korhonen, and Andrew Petersen. 2016. Replication in Computing Education Research: Researcher Attitudes and Experiences. In Proceedings of the 16th Koli Calling International Conference on Computing Education Research (Koli, Finland) (Koli Calling '16). Association for Computing Machinery, New York, NY, USA, 2--11. https://doi.org/10.1145/2999541.2999554
[2]
Brett A. Becker, Paul Denny, Raymond Pettit, Durell Bouchard, Dennis J. Bouvier, Brian Harrington, Amir Kamil, Amey Karkare, Chris McDonald, Peter-Michael Osera, Janice L. Pearce, and James Prather. 2019. Compiler Error Messages Considered Unhelpful: The Landscape of Text-Based Programming Error Message Research. In Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education (Aberdeen, Scotland Uk) (ITiCSE-WGR '19). Association for Computing Machinery, New York, NY, USA, 177--210. https://doi.org/10.1145/3344429.3372508
[3]
Anastasiia Birillo, Ilya Vlasov, Artyom Burylov, Vitalii Selishchev, Artyom Goncharov, Elena Tikhomirova, Nikolay Vyahhi, and Timofey Bryksin. 2022. Hyperstyle: A Tool for Assessing the Code Quality of Solutions to Programming Assignments. In Proceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 1 (Providence, RI, USA) (SIGCSE 2022). Association for Computing Machinery, New York, NY, USA, 307--313. https://doi.org/10.1145/3478431.3499294
[4]
Neil C. C. Brown, Eva Marinus, and Aleata Hubbard Cheuoua. 2022. Launching Registered Report Replications in Computer Science Education Research. In Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 1 (Lugano and Virtual Event, Switzerland) (ICER '22). Association for Computing Machinery, New York, NY, USA, 309--322. https://doi.org/10.1145/3501385.3543971
[5]
Stephen H. Edwards, Nischel Kandru, and Mukund B.M. Rajagopal. 2017. Investigating Static Analysis Errors in Student Java Programs. In Proceedings of the 2017 ACM Conference on International Computing Education Research (Tacoma, Washington, USA) (ICER '17). Association for Computing Machinery, New York, NY, USA, 65--73. https://doi.org/10.1145/3105726.3106182
[6]
Stephen H. Edwards, Jaime Spacco, and David Hovemeyer. 2019. Can Industrial-Strength Static Analysis Be Used to Help Students Who Are Struggling to Complete Programming Activities?. In 52nd Hawaii International Conference on System Sciences, HICSS 2019, Grand Wailea, Maui, Hawaii, USA, January 8--11, 2019, Tung Bui (Ed.). ScholarSpace, 1--10. https://hdl.handle.net/10125/60221
[7]
Qiang Hao, David H. Smith IV, Naitra Iriumi, Michail Tsikerdekis, and Amy J. Ko. 2019. A Systematic Investigation of Replications in Computing Education Research. ACM Trans. Comput. Educ., Vol. 19, 4, Article 42 (aug 2019), bibinfonumpages18 pages. https://doi.org/10.1145/3345328
[8]
Rowan Hart, Brian Hays, Connor McMillin, El Kindi Rezig, Gustavo Rodriguez-Rivera, and Jeffrey A. Turkstra. 2023. Eastwood-Tidy: C Linting for Automated Code Style Assessment in Programming Courses. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1 (Toronto ON, Canada) (SIGCSE 2023). Association for Computing Machinery, New York, NY, USA, 799--805. https://doi.org/10.1145/3545945.3569817
[9]
Julian Jansen, Ana Oprescu, and Magiel Bruntink. 2017. The impact of automated code quality feedback in programming education. In Post-proceedings of the Tenth Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE), Vol. 2070.
[10]
Esther S. Yao Kane Meissel. 2024. Using Cliff's Delta as a Non-Parametric Effect Size Measure: An Accessible Web App and R Tutorial. Practical Assessment, Research, and Evaluation, Vol. 29 (1 2024). Issue 1. https://doi.org/10.7275/pare.1977
[11]
Oscar Karnalim and Simon. 2021. Promoting Code Quality via Automated Feedback on Student Submissions. In 2021 IEEE Frontiers in Education Conference (FIE). IEEE, Institute of Electrical and Electronics Engineers, 1--5. https://doi.org/10.1109/FIE49875.2021.9637193
[12]
Hieke Keuning, Johan Jeuring, and Bastiaan Heeren. 2023. A Systematic Mapping Study of Code Quality in Education. In Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1 (Turku, Finland) (ITiCSE 2023). Association for Computing Machinery, New York, NY, USA, 5--11. https://doi.org/10.1145/3587102.3588777
[13]
David Liu. 2023. PythonTA. https://www.cs.toronto.edu/ david/pyta/
[14]
David Liu, Jonathan Calver, and Michelle Craig. 2024. A Static Analysis Tool in CS1: Student Usage and Perceptions of PythonTA. In Proceedings of the 26th Australasian Computing Education Conference (Sydney, NSW, Australia) (ACE '24). Association for Computing Machinery, New York, NY, USA, 172--181. https://doi.org/10.1145/3636243.3636262
[15]
David Liu and Andrew Petersen. 2019. Static Analyses in Python Programming Courses. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (Minneapolis, MN, USA) (SIGCSE '19). Association for Computing Machinery, New York, NY, USA, 666--671. https://doi.org/10.1145/3287324.3287503
[16]
Roope Luukkainen, Jussi Kasurinen, Uolevi Nikula, and Valentina Lenarduzzi. 2022. ASPA: A Static Analyser to Support Learning and Continuous Feedback on Programming Courses. An Empirical Validation. In Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Software Engineering Education and Training (Pittsburgh, Pennsylvania) (ICSE-SEET '22). Association for Computing Machinery, New York, NY, USA, 29--39. https://doi.org/10.1145/3510456.3514149
[17]
Marcus Messer, Neil C. C. Brown, Michael Kölling, and Miaojing Shi. 2024. Automated Grading and Feedback Tools for Programming Education: A Systematic Review. ACM Trans. Comput. Educ., Vol. 24, 1, Article 10 (feb 2024), bibinfonumpages43 pages. https://doi.org/10.1145/3636515
[18]
Arthur-Jozsef Molnar, Simona Motogna, and Cristina Vlad. 2020. Using Static Analysis Tools to Assist Student Project Evaluation. In Proceedings of the 2nd ACM SIGSOFT International Workshop on Education through Advanced Software Engineering and Artificial Intelligence (Virtual, USA) (EASEAI 2020). Association for Computing Machinery, New York, NY, USA, 7--12. https://doi.org/10.1145/3412453.3423195
[19]
Bao-An Nguyen, Kuan-Yu Ho, and Hsi-Min Chen. 2020. Measure Students' Contribution in Web Programming Projects by Exploring Source Code Repository. In 2020 International Computer Symposium (ICS). Institute of Electrical and Electronics Engineers, 473--478. https://doi.org/10.1109/ICS51289.2020.00099
[20]
Mika Ohtsuki, Kazuki Ohta, and Tetsuro Kakeshita. 2016. Software Engineer Education Support System ALECSS Utilizing DevOps Tools. In Proceedings of the 18th International Conference on Information Integration and Web-Based Applications and Services (Singapore, Singapore) (iiWAS '16). Association for Computing Machinery, New York, NY, USA, 209--213. https://doi.org/10.1145/3011141.3011200
[21]
Pylint contributors. 2023. pylint. https://pylint.readthedocs.io/en/latest/
[22]
Johann C. Rocholl. 2023. pycodestyle. https://pycodestyle.pycqa.org/
[23]
Leo C. Ureel II and Charles Wallace. 2019. Automated Critique of Early Programming Antipatterns. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (Minneapolis, MN, USA) (SIGCSE '19). Association for Computing Machinery, New York, NY, USA, 738--744. https://doi.org/10.1145/3287324.3287463
[24]
Guido van Rossum, Barry Warsaw, and Alyssa Coghlan. 2001. PEP 8 -- Style Guide for Python Code. https://peps.python.org/pep-0008/ Retrieved January 22, 2024 from https://peps.python.org/pep-0008/

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE 2024: Proceedings of the 2024 on Innovation and Technology in Computer Science Education V. 1
July 2024
776 pages
ISBN:9798400706004
DOI:10.1145/3649217
This work is licensed under a Creative Commons Attribution-NonCommercial International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 July 2024

Check for updates

Author Tags

  1. error messages
  2. replication
  3. static analysis
  4. style checker

Qualifiers

  • Research-article

Conference

ITiCSE 2024
Sponsor:

Acceptance Rates

Overall Acceptance Rate 552 of 1,613 submissions, 34%

Upcoming Conference

ITiCSE '25
Innovation and Technology in Computer Science Education
June 27 - July 2, 2025
Nijmegen , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 157
    Total Downloads
  • Downloads (Last 12 months)157
  • Downloads (Last 6 weeks)32
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media