Determining Programming Languages Complexity and Its Impact on Processing

Authors Gonçalo Rodrigues Pinto, Pedro Rangel Henriques , Daniela da Cruz , João Cruz



PDF
Thumbnail PDF

File

OASIcs.SLATE.2022.16.pdf
  • Filesize: 0.78 MB
  • 15 pages

Document Identifiers

Author Details

Gonçalo Rodrigues Pinto
  • Department of Informatics, University of Minho, Braga, Portugal
Pedro Rangel Henriques
  • Centro ALGORITMI, Departamento de Informática, University of Minho, Braga, Portugal
Daniela da Cruz
  • Checkmarx, Braga, Portugal
João Cruz
  • Checkmarx, Braga, Portugal

Acknowledgements

We want to thank the reviewers for the input and suggestions on the paper.

Cite As Get BibTex

Gonçalo Rodrigues Pinto, Pedro Rangel Henriques, Daniela da Cruz, and João Cruz. Determining Programming Languages Complexity and Its Impact on Processing. In 11th Symposium on Languages, Applications and Technologies (SLATE 2022). Open Access Series in Informatics (OASIcs), Volume 104, pp. 16:1-16:15, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2022) https://doi.org/10.4230/OASIcs.SLATE.2022.16

Abstract

Tools for Programming Languages processing, like Static Analysers (for instance, a Static Application Security Testing (SAST) tool), must be adapted to cope with a different input when the source programming language changes. Complexity of the programming language is one of the key factors that deeply impact the time of giving support to it.
This paper aims at proposing an approach for assessing language complexity, measuring, at a first stage, the complexity of its underlying context-free grammar (CFG). From the analysis of concrete case studies, factors have been identified that make the support process more time-consuming, in particular in the stages of language recognition and in the transformation to an abstract syntax tree (AST). In this sense, at a second stage, a set of language characteristics is analysed in order to take into account the referred factors that also impact on the language processing.
The principal goal of the project here reported is to help development teams to improve the estimation of time and effort needed to cope with a new programming language. In the paper a tool is proposed, and its prototype is presented, that allows the evaluation of the complexity of a language based on a set of metrics to classify the complexity of its grammar, along with a set of properties. The tool compares the new language complexity so far determined with previously supported languages, to predict the effort to process the new language.

Subject Classification

ACM Subject Classification
  • Software and its engineering → General programming languages
Keywords
  • Complexity
  • Grammar
  • Language-based-Tool
  • Programming Language
  • Static code analysis

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Tiago L. Alves and Joost Visser. Metrication of sdf grammars. Technical report, Universidade do Minho, 2005. Google Scholar
  2. Tiago L. Alves and Joost Visser. A case study in grammar engineering. In SLE, 2008. Google Scholar
  3. Julien Cervelle, Matej Crepinsek, Rémi Forax, Tomaz Kosar, Marjan Mernik, and Gilles Roussel. On defining quality based grammar metrics. 2009 International Multiconference on Computer Science and Information Technology, pages 651-658, 2009. Google Scholar
  4. Matej Crepinsek, Tomaz Kosar, Marjan Mernik, Julien Cervelle, Rémi Forax, and Gilles Roussel. On automata and language based grammar metrics. Comput. Sci. Inf. Syst., 7:309-329, 2010. Google Scholar
  5. João Cruz. Qge - An attribute grammar based system to assess grammars quality. Master’s thesis, Universidade do Minho, December 2015. Google Scholar
  6. Norman E. Fenton and Shari Lawrence Pfleeger. Software Metrics: A Rigorous and Practical Approach. Boston : PWS Publishing Company, 2 edition, 1997. ISBN: 0-534-95425-1. Google Scholar
  7. Pedro Rangel Henriques. Brincando às linguagens com rigor: Engenharia gramatical. Technical report, Departamento de Informática da Escola de Engenharia da Universidade do Minho, November 2013. Google Scholar
  8. Terence John Parr. Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages. The Pragmatic Bookshelf, 2009. ISBN: 978-1-934356-45-6. Google Scholar
  9. J.F. Power and Brian A. Malloy. Metric-based analysis of context-free grammars. Proceedings IWPC 2000. 8th International Workshop on Program Comprehension, pages 171-178, 2000. Google Scholar
  10. J.F. Power and Brian A. Malloy. A metrics suite for grammar-based software. J. Softw. Maintenance Res. Pract., 16:405-426, 2004. Google Scholar
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail