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

"I know it when I see it" Perceptions of Code Quality: ITiCSE '17 Working Group Report

Published:30 January 2018Publication History

ABSTRACT

Context. Code quality is a key issue in software development. The ability to develop high quality software is therefore a key learning goal of computing programs. However, there are no universally accepted measures to assess the quality of code and current standards are considered weak. Furthermore, there are many facets to code quality. Defining and explaining the concept of code quality is therefore a challenge faced by many educators.

Objectives. In this working group, we investigated code quality as perceived by students, educators, and professional developers, in particular, the differences in their views of code quality and which quality aspects they consider as more or less important. Furthermore, we investigated their sources for information about code quality and its assessment.

Methods. We interviewed 34 students, educators and professional developers regarding their perceptions of code quality. For the interviews they brought along code from their own experience to discuss and exemplify code quality.

Results. There was no common definition of code quality among or within these groups. Quality was mostly described in terms of indicators that could measure an aspect of code quality. Among these indicators, readability was named most frequently by all groups. The groups showed significant differences in the sources they use for learning about code quality with education ranked lowest in all groups.

Conclusions. Code quality should be discussed more thoroughly in educational programs.

References

  1. Yonatan Woodbridge, and Dror G Feitelson 2017 Syntax, predicates, idioms: what really affects code complexity?. Proceedings of the 25th International Conference on Program Comprehension 66--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Eran Avidan and Dror G Feitelson 2017 Effects of variable names on comprehension an empirical study. Proceedings of the 25th International Conference on Program Comprehension 55--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Gabriele Bavota and Barbara Russo 2015 Four eyes are better than two: On the impact of code reviews on software quality. Proceedings of the 31st IEEE International Conference on Software Maintenance and Evolution 81--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Kent Beck 2002\natexlab.booktitle Test Driven Development: By Example. Addison-Wesley Professional. ISBNx978-0321146533 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Gal Beniamini, Sarah Gingichashvili, Alon Klein Orbach, and Dror G Feitelson 2017 Meaningful identifier names: the case of single-letter variables. Proceedings of the 25th International Conference on Program Comprehension 45--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Barry Boehm 2016 Improving and balancing software qualities. Proceedings of the 38th International Conference on Software Engineering Companion 890--891. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Jürgen Börstler, Mark S Hall, Marie Nordström, James H Paterson, Kate Sanders, Carsten Schulte, and Lynda Thomas 2010 An evaluation of object oriented example programs in introductory programming textbooks.journal ACM SIGCSE Bulletinvolume41,number4 (2010),pages126--143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jürgen Börstler, Marie Nordström, and James H Paterson 2011 On the quality of examples in introductory Java textbooks.journal ACM Transactions on Computing Educationvolume11,number1 (2011),pages3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Neil CC Brown and Amjad Altadmri 2017 Novice Java programming mistakes: large-scale data vs. educator beliefs.journal ACM Transactions on Computing Educationvolume17,number2 (2017). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Simon Butler, Michel Wermelinger, Yijun Yu, and Helen Sharp 2010 Exploring the influence of identifier names on code quality: An empirical study. Proceedings of the 14th European Conference on Software Maintenance and Reengineering 156--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Norman Fenton and James Bieman 2014\natexlab.booktitle Software metrics: a rigorous and practical approach. CRC Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Gal Lalouche 2017 On the correlation between size and metric validity.journal Empirical Software Engineeringvolume22,number5 (2017),pages2585--2611. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Robert Green and Henry Ledgard 2011 Coding Guidelines: Finding the Art in the Science.journal Commun. ACMvolume54,number12 (2011),pages57--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Les Hatton 2008 Testing the value of checklists in code inspections.journal IEEE softwarevolume25,number4 (2008),pages82--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Christopher D Hundhausen, Anukrati Agrawal, and Pawan Agarwal Talking about code: Integrating pedagogical code reviews into early computing courses.journal ACM Transactions on Computing Educationvolume13,number3 (2013),pages14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Ronald Jabangwe, Jürgen Börstler, Darjav Smite, and Claes Wohlin 2015 Empirical evidence on the link between object-oriented measures and external quality attributes: a systematic literature review.journal Empirical Software Engineeringvolume20,number3 (2015),pages640--693. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Joint ACM/IEEE Task Force on Computing Curricula .booktitle Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science.typeTechnical Report.institutionACM & IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Hieke Keuning, Bastiaan Heeren, and Johan Jeuring 2017 Code quality Issues in Student Programs. Proceedings of the 22nd Annual Conference on Innovation and Technology in Computer Science Education. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hieke Keuning, Johan Jeuring, and Bastiaan Heeren 2016 Towards a systematic review of automated feedback generation for programming exercises. Proceedings of the 22rd Annual Conference on Innovation and Technology in Computer Science Education 41--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Päivi Kinnunen and Beth Simon 2010 Building theory about computing education phenomena: a discussion of grounded theory. Proceedings of the 10th Koli Calling International Conference on Computing Education Research. ACM,pages37--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Sami Kollanus and Jussi Koskinen Survey of Software Inspection Research.journal The Open Software Engineering Journalvolume3,number1 (2009),pages15--34.Google ScholarGoogle Scholar
  22. Taek Lee and Jung-Been Lee 2015 Effect analysis of coding convention violations on readability of post-delivered code.journal IEICE TRANSACTIONS on Information and SystemsvolumeE98-D,number7 (2015),pages1286--1296.Google ScholarGoogle Scholar
  23. T.C. Lethbridge, R.J. LeBlanc, A.E.K. Sobel, T.B. Hilburn, and J.L. Diaz-Herrera 2006 SE2004: Recommendations for undergraduate software engineering curricula.journal IEEE Softwarevolume23,number6 (2006),pages19--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Romero Malaquias, Márcio Ribeiro, Rodrigo Bonifácio, Eduardo Monteiro, Flávio Medeiros, Alessandro Garcia, and Rohit Gheyi 2017 The discipline of preprocessor-based annotations does\# ifdef TAG n't\# endif matter. Proceedings of the 25th International Conference on Program Comprehension 297--307. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Robert C. Martin 2008\natexlab.booktitle Clean Code: A Handbook of Agile Software Craftsmanship. Prentice-Hall. ISBNx978-0132350884 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. José P Miguel, David Mauricio, and Glen Rodrïguez 2014 A review of software quality models for the evaluation of software products.journal International Journal of Software Engineering & Applicationsvolume5,number6 (2014),pages31--53.Google ScholarGoogle Scholar
  27. Eric S. Raymond 2010\natexlab.booktitle The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. www.snowballpublishing.com. ISBNx978--1607962281 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Johannes Siedersleben 2002\natexlab.booktitle Softwaretechnik: Praxiswissen für Softwareingenieure (\edition2 ed.). Carl Hanser Verlag. ISBNx978--3446218437Google ScholarGoogle Scholar
  29. Saikrishna Sripada, Y Raghu Reddy, and Ashish Sureka 2015 In support of peer code review and inspection in an undergraduate software engineering course. Software Engineering Education and Training (CSEET), 2015 IEEE 28th Conference on 3--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Martijn Stegeman, Erik Barendsen, and Sjaak Smetsers 2014 Towards an empirically validated model for assessment of code quality. Proceedings of the 14th Koli Calling International Conference on Computing Education Research 99--108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Martijn Stegeman, Erik Barendsen, and Sjaak Smetsers 2016 Designing a rubric for feedback on code quality in programming courses. Proceedings of the 16th Koli Calling International Conference on Computing Education Research 160--164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Michael Striewe and Michael Goedicke 2014 A review of static analysis approaches for programming exercises. International Computer Assisted Assessment Conference 100--113.Google ScholarGoogle ScholarCross RefCross Ref
  33. Ted Tenny Program readability: Procedures versus comments.journal IEEE Transactions on Software Engineeringvolume14,number9 (1988),pages1271--1279. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. "I know it when I see it" Perceptions of Code Quality: ITiCSE '17 Working Group Report

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            ITiCSE-WGR '17: Proceedings of the 2017 ITiCSE Conference on Working Group Reports
            January 2018
            162 pages
            ISBN:9781450356275
            DOI:10.1145/3174781

            Copyright © 2018 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 30 January 2018

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            ITiCSE-WGR '17 Paper Acceptance Rate8of16submissions,50%Overall Acceptance Rate552of1,613submissions,34%

            Upcoming Conference

            ITiCSE 2024

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader