Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2786805.2786806acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Gamification for enforcing coding conventions

Published: 30 August 2015 Publication History

Abstract

Software is a knowledge intensive product, which can only evolve if there is effective and efficient information exchange between developers. Complying to coding conventions improves information exchange by improving the readability of source code. However, without some form of enforcement, compliance to coding conventions is limited. We look at the problem of information exchange in code and propose gamification as a way to motivate developers to invest in compliance. Our concept consists of a technical prototype and its integration into a Scrum environment. By means of two experiments with agile software teams and subsequent surveys, we show that gamification can effectively improve adherence to coding conventions.

References

[1]
Checkstyle. http://checkstyle.sourceforge.net/.
[2]
Coderwall. http://coderwall.com/.
[3]
Collabreview. http://sourceforge.net/projects/collabreview/.
[4]
Sonarqube. http://www.sonarqube.org/.
[5]
Squore. http://www.squoring.com/.
[6]
Topcoder. http://www.topcoder.com/.
[7]
B. T. Adler, K. Chatterjee, L. de Alfaro, M. Faella, I. Pye, and V. Raman. Assigning trust to wikipedia content. In Intl. Symp. on Wikis, 2008.
[8]
D. F. Bacon, Y. Chen, D. Parkes, and M. Rao. A market-based approach to software evolution. In OOPSLA companion. ACM, 2009.
[9]
S. C. Bailin. Software development as knowledge creation. IntJ. of Applied Software Technology, 3(1):75–89, 1997.
[10]
M. Bernhart, S. Reiterer, K. Matt, A. Mauczka, and T. Grechenig. A task-based code review process and tool to comply with the do-278/ed-109 standard for air traffic managment software development: An industrial case study. In IntSymp. on High-Assurance Systems Engineering (HASE), pages 182–187, 2011.
[11]
B. Boehm. Get ready for agile methods, with care. IEEE Computer, 35:64–69, 2002.
[12]
C. Boogerd and L. Moonen. Assessing the value of coding standards: An empirical study. In ICSM, pages 277–286. IEEE, 2008.
[13]
N. Brown, Y. Cai, Y. Guo, R. Kazman, M. Kim, P. Kruchten, E. Lim, A. MacCormack, R. Nord, I. Ozkaya, R. Sangwan, C. Seaman, K. Sullivan, and N. Zazworka. Managing technical debt in software-reliant systems. In Future of Software Engineering Research. ACM, 2010.
[14]
R. P. L. Buse and W. R. Weimer. Learning a metric for code readability. IEEE Transactions on Software Engineering, 36(4):546–558, July 2010.
[15]
C. Connell. Creating poetry in software code. Boston Globe, 1999.
[16]
U. Cress, J. Kimmerle, and F. W. Hesse. Information exchange with shared databases as a social dilemma - the effect of metaknowledge, bonus systems and costs. Comm. Research, 33(5):370–390, 2006.
[17]
S. Dencheva, C. R. Prause, and W. Prinz. Dynamic self-moderation in a corporate wiki to improve participation and contribution quality. In ECSCW. Springer, 2011.
[18]
S. Deterding, D. Dixon, R. Khaled, and L. Nacke. From game design elements to gamefulness: Defining “gamification”. In Intl. Academic MindTrek Conf.: Envisioning Future Media Environments. ACM, 2011.
[19]
D. DiPalantino and M. Vojnovic. Crowdsourcing and all-pay auctions. In 10th Conference on Electronic Commerce. ACM, 2009.
[20]
T. B. Emerson Murphy-Hill and A. P. Black. Interactive ambient visualizations for soft advice. Information Visualization, 12(2):107–132.
[21]
F. R. Farmer and B. Glass. Building Web Reputation Systems. O’Reilly, March 2010.
[22]
N. H. Frija. The Emotions (Studies in Emotion and Social Interaction). Cambridge University Press, 1987.
[23]
P. Graham. Hackers & Painters: Big Ideas from the Computer Age: Essays on the Art of Programming. O’’Reilly & Associates, Inc., 2004.
[24]
M. Harman. Why source code analysis and manipulation will always be important. In SCAM. IEEE Computer Society, 2010.
[25]
R. L. Heneman and C. V. Hippel. Balancing group and individual rewards: Rewarding individual contributions to the team. Compensation & Benefits Review, 27(63):63––68, 1995.
[26]
J. D. Herbsleb and D. Moitra. Global software development. IEEE Software, 18(2):16–20, 2001.
[27]
B. Hoisl. Motivate online community contributions using social rewarding techniques — a focus on wiki systems. Master’s thesis, Vienna University, 2007.
[28]
W. S. Humphrey. Managing Technical People. Addison-Wesley, 1997.
[29]
A. Jøsang, R. Ismail, and C. Boyd. A survey of trust and reputation systems for online service provision. Decision Support Systems, 43(2):618–644, 2007.
[30]
P. Kruchten, R. L. Nord, and I. Ozkaya. Technical debt: From metaphor to theory and practice. IEEE Software, 29(6):18–21, 2012.
[31]
T. Lee, J. B. Lee, and H. P. In. A study of different coding styles affecting code readability. IJSEIA, 7(5):413–422, 2013.
[32]
D. Leonard-Barton. Implementing structured software methodologies: A case of innovation in process technology. Interfaces, 17(3):6–17, May/June 1987.
[33]
A. Lynex and P. Layzell. Organisational considerations for software reuse. Annals of Software Engineering, 5:105–124, 1998. 10.1023/A:1018928608749.
[34]
Z. Merali. Computational science: Error, why scientific programming does not compute. Nature, 467(7317):775–777, 2010.
[35]
P. Merson. Ultimate architecture enforcement: Custom checks enforced at code-commit time. In Conference on Systems, programming, & applications: software for humanity, pages 153––160. ACM, 2013.
[36]
M. E. Nordberg, III. Managing code ownership. Software, IEEE, 20(2):26–33, March/April 2003.
[37]
G. Norman. Likert scales, levels of measurement and the ”laws” of statistics. Adv in Health Sci Educ, 15:625–632, 2010.
[38]
C. Parnin. A cognitive neuroscience perspective on memory for programming tasks. In PPIG, PPIG, 2010.
[39]
R. Plösch, H. Gruber, C. Körner, and M. Saft. A method for continuous code quality management using static analysis. QUATIC, pages 370–375. IEEE Computer Society, 2010.
[40]
C. R. Prause. Maintaining fine-grained code metadata regardless of moving, copying and merging. In SCAM. IEEE CS, 2009.
[41]
C. R. Prause and Z. Durdik. Architectural design and documentation: Waste in agile development? In ICSSP. IEEE, 2012.
[42]
C. R. Prause, J. Nonnen, and M. Vinkovits. A field experiment on gamification of code quality in agile development. In PPIG, 2012.
[43]
P. Seibel. Coders at Work: Reflections on the Craft of Programming. Apress, 2009.
[44]
B. Selic. Agile documentation, anyone? IEEE Software, 26(6):11–12, Nov/Dec 2009.
[45]
L. Singer and K. Schneider. Influencing the adoption of software engineering methods using social software. In ICSE. IEEE, 2012.
[46]
L. Singer and K. Schneider. It was a bit of a race: Gamification of version control. In Intl. W. on Games and Software Engineering, 2012.
[47]
M. Smit, B. Gergel, H. J. Hoover, and E. Stroulia. Code convention adherence in evolving software. In Intl. Conf. on Software Maintenance, ICSM, pages 504–507. IEEE, 2011.
[48]
D. Spinellis. Reading, writing, and code. ACM Queue, October 2003.
[49]
D. Spinellis. Code documentation. IEEE Software, 27:18–19, 2010.
[50]
D. Spinellis. elyts edoc. IEEE Software, 28:104–103, March 2011.
[51]
E. Tryggeseth. Report from an experiment: Impact of documentation on maintenance. Empirical Software Engineering, 2:201–207, 1997.
[52]
S. Vashishtha and A. Gupta. Automated code reviews with checkstyle, part 2, 11 2008.
[53]
E. J. Weyuker. Evaluating software complexity measures. IEEE Trans. Software Eng., 14(9):1357–1365, 1988.
[54]
E. J. Weyuker. Empirical software engineering research - the good, the bad, the ugly. In Symp. on Emp. Softw, Eng. & Measrmnt. IEEE, 2011.
[55]
J. R. Whitson. Gaming the quantified self. Surveillance & Society, 1:163––176, 2011.
[56]
S. Wray. How pair programming really works. IEEE Software, 27:50–55, 2009.

Cited By

View all
  • (2023)Integrating Interactive Detection of Code Smells into Scrum: Feasibility, Benefits, and ChallengesApplied Sciences10.3390/app1315877013:15(8770)Online publication date: 29-Jul-2023
  • (2023)Gamification in Test-Driven Development PracticeProceedings of the 2nd International Workshop on Gamification in Software Development, Verification, and Validation10.1145/3617553.3617889(38-46)Online publication date: 4-Dec-2023
  • (2023)Negative effects of gamification in education softwareInformation and Software Technology10.1016/j.infsof.2022.107142156:COnline publication date: 1-Apr-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE 2015: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering
August 2015
1068 pages
ISBN:9781450336758
DOI:10.1145/2786805
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 ACM 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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 August 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code style
  2. experiment
  3. gamification
  4. software quality

Qualifiers

  • Research-article

Conference

ESEC/FSE'15
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)43
  • Downloads (Last 6 weeks)3
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Integrating Interactive Detection of Code Smells into Scrum: Feasibility, Benefits, and ChallengesApplied Sciences10.3390/app1315877013:15(8770)Online publication date: 29-Jul-2023
  • (2023)Gamification in Test-Driven Development PracticeProceedings of the 2nd International Workshop on Gamification in Software Development, Verification, and Validation10.1145/3617553.3617889(38-46)Online publication date: 4-Dec-2023
  • (2023)Negative effects of gamification in education softwareInformation and Software Technology10.1016/j.infsof.2022.107142156:COnline publication date: 1-Apr-2023
  • (2023)Applying Leaderboards for Quality Improvement in Software Development ProjectsSoftware Engineering for Games in Serious Contexts10.1007/978-3-031-33338-5_11(243-263)Online publication date: 22-Sep-2023
  • (2023)The Dark Aspects of Gamification in EducationGamification Design for Educational Contexts10.1007/978-3-031-31949-5_8(121-128)Online publication date: 8-Jun-2023
  • (2023)An empirical investigation on the benefits of gamification in communication within university development teamsComputer Applications in Engineering Education10.1002/cae.2267531:6(1808-1822)Online publication date: 14-Aug-2023
  • (2022)Achievement unlocked: a case study on gamifying DevOps practices in industryProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558948(1343-1354)Online publication date: 7-Nov-2022
  • (2022)A Decision Model For Using Gamification Technology In Employee Training2022 International Conference on Decision Aid Sciences and Applications (DASA)10.1109/DASA54658.2022.9764975(942-946)Online publication date: 23-Mar-2022
  • (2022)Styler: learning formatting conventions to repair Checkstyle violationsEmpirical Software Engineering10.1007/s10664-021-10107-027:6Online publication date: 1-Nov-2022
  • (2021)Gamifying Software Engineering Tools to Motivate Computer Science Students to Start and Finish Programming Assignments EarlierIEEE Transactions on Education10.1109/TE.2021.306994564:4(423-431)Online publication date: 1-Nov-2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media