Program comprehension of domain-specific and general-purpose languages: comparison using a family of experiments

  • Authors:
  • Tomaž Kosar;Marjan Mernik;Jeffrey C. Carver

  • Affiliations:
  • Faculty of Electrical Engineering and Computer Science, University of Maribor, Maribor, Slovenia 2000;Faculty of Electrical Engineering and Computer Science, University of Maribor, Maribor, Slovenia 2000;Department of Computer Science, University of Alabama, Tuscaloosa, USA

  • Venue:
  • Empirical Software Engineering
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Domain-specific languages (DSLs) are often argued to have a simpler notation than general-purpose languages (GPLs), since the notation is adapted to the specific problem domain. Consequently, the impact of domain relevance on the creation of the problem representation is believed to improve programmers' efficiency and accuracy when using DSLs compared with using similar solutions like application libraries in GPLs. Most of the common beliefs have been based upon qualitative conclusions drawn by developers. Rather than implementing the same problem in a DSL and in a GPL and comparing the efficiency and accuracy of each approach, developers often compare the implementation of a new program in a DSL to their previous experiences implementing similar programs in GPLs. Such a conclusion may or may not be valid. This paper takes a more skeptical approach to acceptance of those beliefs. By reporting on a family of three empirical studies comparing DSLs and GPLs in different domains. The results of the studies showed that when using a DSL, developers are more accurate and more efficient in program comprehension than when using a GPL. These results validate some of the long- held beliefs of the DSL community that until now were only supported by anecdotal evidence.