Sign In

Communications of the ACM

ACM TechNews

Functional Languages Rack ­p Best Scores For Software Quality

View as: Print Mobile App Share:
A graphic of programming languages.

Researchers at the University of California, Davis recently examined projects hosted on GitHub, and the languages used to build them.

Credit: Thinkstock

University of California, Davis (UC Davis) researchers recently conducted an examination of projects hosted on GitHub and the languages used to build them. The researchers studied 729 projects and 80 million lines of code, including project metadata about bugs, covering 17 top languages ranging from C to C++, Java to JavaScript, and Scala to Clojure.

"By triangulating findings from different methods and controlling for confounding effects such as team size, project size, and project history, we report that language design does have a [statistically] significant but modest effect on software quality," the researchers say.

Functional languages scored the best for software quality due to their reliance on being mathematical and the likelihood that more experienced programmers use them, according to UC Davis researcher Balshakhi Ray. Although programming errors account for approximately 88.53 percent of all bug fix commits and occur in all language classes, some programming errors are more language-specific. "For example, we find 122 runtime errors in JavaScript that are not present in TypeScript," the report notes. "In contrast, TypeScript has more type-related errors, since TypeScript compiler flags them during development."

Meanwhile, memory errors constituted 5.44 percent of bug fix commits. The study also found "regression analysis confirms that languages with unmanaged memory type, e.g., C, C++, and Objective-C introduce more memory errors."

From InfoWorld
View Full Article


Abstracts Copyright © 2014 Information Inc., Bethesda, Maryland, USA


No entries found

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account