"I know it when I see it": Perceptions of Code Quality

Code quality is a key issue in software development. The ability to develop software of high quality 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 consideredweak. Furthermore, there are many facets to code quality. Defining and explaining the concept of code quality is therefore a challenge faced by many educators. In this working group, we investigate the perceptions of code quality of students, teachers, and professional programmers. In particular, we are interested in the differences in views of code quality by students, educators, and professional programmers and which quality aspects they consider as more or less important. Furthermore, we are interested in which sources of information on code quality and its assessment are used by these groups. Eventually, this will help us to develop resources that can be used to broaden students' views on software quality.

[1]  Joseph Gil,et al.  On the correlation between size and metric validity , 2017, Empirical Software Engineering.

[2]  Les Hatton,et al.  Testing the Value of Checklists in Code Inspections , 2008, IEEE Software.

[3]  Ted Tenny,et al.  Program Readability: Procedures Versus Comments , 1988, IEEE Trans. Software Eng..

[4]  Johan Jeuring,et al.  "I know it when I see it" Perceptions of Code Quality: ITiCSE '17 Working Group Report , 2018, ITiCSE-WGR.

[5]  Alessandro F. Garcia,et al.  The Discipline of Preprocessor-Based Annotations - Does #ifdef TAG n't #endif Matter , 2017, 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC).

[6]  Eric S. Raymond,et al.  The cathedral and the bazaar - musings on Linux and Open Source by an accidental revolutionary , 2001 .

[7]  Erik Barendsen,et al.  Towards an empirically validated model for assessment of code quality , 2014, Koli Calling.

[8]  Barry W. Boehm,et al.  Improving and Balancing Software Qualities , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[9]  Erik Barendsen,et al.  Designing a rubric for feedback on code quality in programming courses , 2016, Koli Calling.

[10]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[11]  Dror G. Feitelson,et al.  Effects of Variable Names on Comprehension: An Empirical Study , 2017, 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC).

[12]  Dror G. Feitelson,et al.  Meaningful Identifier Names: The Case of Single-Letter Variables , 2017, 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC).

[13]  Jorge L. Díaz-Herrera,et al.  SE2004: Recommendations for Undergraduate Software Engineering Curricula , 2006, IEEE Software.

[14]  Johan Jeuring,et al.  Code Quality Issues in Student Programs , 2017, ITiCSE.

[15]  Hoh Peter In,et al.  Effect Analysis of Coding Convention Violations on Readability of Post-Delivered Code , 2015, IEICE Trans. Inf. Syst..

[16]  Christopher D. Hundhausen,et al.  Talking about code: Integrating pedagogical code reviews into early computing courses , 2013, TOCE.

[17]  Yijun Yu,et al.  Exploring the Influence of Identifier Names on Code Quality: An Empirical Study , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[18]  Michael Striewe,et al.  A Review of Static Analysis Approaches for Programming Exercises , 2014, CAA.

[19]  Joint Task Force on Computing Curricula Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science , 2013 .

[20]  Beth Simon,et al.  Building theory about computing education phenomena: a discussion of grounded theory , 2010, Koli Calling.

[21]  David Mauricio,et al.  A Review of Software Quality Models for the Evaluation of Software Products , 2014, ArXiv.

[22]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[23]  Dror G. Feitelson,et al.  Syntax, predicates, idioms — what really affects code complexity? , 2018, 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC).

[24]  Marie Nordström,et al.  On the Quality of Examples in Introductory Java Textbooks , 2011, TOCE.

[25]  Y. Raghu Reddy,et al.  In Support of Peer Code Review and Inspection in an Undergraduate Software Engineering Course , 2015, 2015 IEEE 28th Conference on Software Engineering Education and Training.

[26]  Marie Nordström,et al.  An evaluation of object oriented example programs in introductory programming textbooks , 2010, SGCS.

[27]  Johan Jeuring,et al.  Towards a Systematic Review of Automated Feedback Generation for Programming Exercises , 2016, ITiCSE.

[28]  Robert C. Martin Clean Code - a Handbook of Agile Software Craftsmanship , 2008 .

[29]  Gabriele Bavota,et al.  Four eyes are better than two: On the impact of code reviews on software quality , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[30]  Sami Kollanus,et al.  Survey of Software Inspection Research , 2009 .

[31]  Claes Wohlin,et al.  Empirical evidence on the link between object-oriented measures and external quality attributes: a systematic literature review , 2013, Empirical Software Engineering.