Measuring source code conciseness across programming languages using compression

11/18/2021
by   Lodewijk Bergmans, et al.
0

It is well-known, and often a topic of heated debates, that programs in some programming languages are more concise than in others. This is a relevant factor when comparing or aggregating volume-impacted metrics on source code written in a combination of programming languages. In this paper, we present a model for measuring the conciseness of programming languages in a consistent, objective and evidence-based way. We present the approach, explain how it is founded on information theoretical principles, present detailed analysis steps and show the quantitative results of applying this model to a large benchmark of diverse commercial software applications. We demonstrate that our metric for language conciseness is strongly correlated with both an alternative analytical approach, and with a large scale developer survey, and show how its results can be applied to improve software metrics for multi-language applications.

READ FULL TEXT
research
11/27/2019

FSE/CACM Rebuttal^2: Correcting A Large-Scale Study of Programming Languages and Code Quality in GitHub

Ray, Devanbu and Filkov issued a rebuttal of our TOPLAS paper "On the Im...
research
08/02/2018

Debugging Native Extensions of Dynamic Languages

Many dynamic programming languages such as Ruby and Python enable develo...
research
05/27/2020

Towards a Catalogue of Software Quality Metrics for Infrastructure Code

Infrastructure-as-code (IaC) is a practice to implement continuous deplo...
research
11/24/2017

Interactive Complexity: Software Metrics from an Ecosystem Perspective

With even the most trivial of applications now being written on top of m...
research
09/18/2017

A Survey of Machine Learning for Big Code and Naturalness

Research at the intersection of machine learning, programming languages,...
research
02/14/2020

Foundations of a live data exploration environment

Context: A growing amount of code is written to explore and analyze data...

Please sign up or login with your details

Forgot password? Click here to reset