ERA

Download the full-sized PDF of Maintainability and Source Code Conventions: An Analysis of Open Source ProjectsDownload the full-sized PDF

Analytics

Share

Permanent link (DOI): https://doi.org/10.7939/R3639KB6K

Download

Export to: EndNote  |  Zotero  |  Mendeley

Communities

This file is in the following communities:

Computing Science, Department of

Collections

This file is in the following collections:

Technical Reports (Computing Science)

Maintainability and Source Code Conventions: An Analysis of Open Source Projects Open Access

Descriptions

Author or creator
Smit, Michael
Gergel, Barry
Hoover, H. James
Stroulia, Eleni
Additional contributors
Subject/Keyword
Software Engineering
Code convention
Maintainability
Metric
Type of item
Computing Science Technical Report
Computing science technical report ID
TR11-06
Language
English
Place
Time
Description
Technical report TR11-06. Maintainability is a desirable property of software, and a variety of metrics have been proposed for measuring it, all based on different notions of complexity. Although these metrics are useful, complexity is only one factor influencing maintainability. Practical experience in software development has led to a set of best practices and coding conventions that are believed to make source code easier to read, understand and maintain. Based on a survey of software engineers, we identify the relative importance of 71 coding conventions to maintainability. We propose a metric that offers a different perspective on maintenance, namely a \"convention adherence\" metric based on the number and severity of violations of these coding conventions. We examine the code repositories of four open-source Java projects to measure their adherence to coding conventions over the life of the project, based on both their self-identified conventions and those of the convention-adherence metric. Through our analysis, we discovered several interesting phenomena, including pre-release effort to bring new code in line with desirable conventions, effective usage of automated code convention checkers as part of the build process to improve adherence, variations in adherence over the software lifecycle, and a class of conventions consistently ignored in open source projects.
Date created
2011
DOI
doi:10.7939/R3639KB6K
License information
Creative Commons Attribution 3.0 Unported
Rights

Citation for previous publication

Source
Link to related item

File Details

Date Uploaded
Date Modified
2014-05-02T17:45:22.613+00:00
Audit Status
Audits have not yet been run on this file.
Characterization
File format: pdf (Portable Document Format)
Mime type: application/pdf
File size: 959970
Last modified: 2015:10:12 20:47:28-06:00
Filename: TR11-06.pdf
Original checksum: 9bb2e531b5a2bfc6c281c0162330d8f3
Well formed: false
Valid: false
Status message: Lexical error offset=937210
Page count: 10
Activity of users you follow
User Activity Date