Skip to main content
Erschienen in: Software and Systems Modeling 1/2020

06.04.2019 | Regular Paper

Applying static code analysis for domain-specific languages

verfasst von: Iván Ruiz-Rube, Tatiana Person, Juan Manuel Dodero, José Miguel Mota, Javier Merchán Sánchez-Jara

Erschienen in: Software and Systems Modeling | Ausgabe 1/2020

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

The use of code quality control platforms for analysing source code is increasingly gaining attention in the developer community. These platforms are prepared to parse and check source code written in a variety of general-purpose programming languages. The emergence of domain-specific languages enables professionals from different areas to develop and describe problem solutions in their disciplines. Thus, source code quality analysis methods and tools can also be applied to software artefacts developed with a domain-specific language. To evaluate the quality of domain-specific language code, every software component required by the quality platform to parse and query the source code must be developed. This becomes a time-consuming and error-prone task, for which this paper describes a model-driven interoperability strategy that bridges the gap between the grammar formats of source code quality parsers and domain-specific text languages. This approach has been tested on the most widespread platforms for designing text-based languages and source code analysis. This interoperability approach has been evaluated on a number of specific contexts in different domain areas.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Abran, A., Khelifi, A., Suryn, W., Seffah, A.: Usability meanings and interpretations in iso standards. Softw. Qual. J. 11(4), 325–338 (2003)CrossRef Abran, A., Khelifi, A., Suryn, W., Seffah, A.: Usability meanings and interpretations in iso standards. Softw. Qual. J. 11(4), 325–338 (2003)CrossRef
2.
Zurück zum Zitat Ameller, D., Franch, X.J.: Dealing with non-functional requirements in model-driven development. In: 2010 18th IEEE international requirements engineering conference, pp. 189–198 (2010) Ameller, D., Franch, X.J.: Dealing with non-functional requirements in model-driven development. In: 2010 18th IEEE international requirements engineering conference, pp. 189–198 (2010)
3.
Zurück zum Zitat Ampatzoglou, A., Ampatzoglou, A., Chatzigeorgiou, A., Avgeriou, P.: The financial aspect of managing technical debt: a systematic literature review. Inf. Softw. Technol. 64, 52–73 (2015)CrossRef Ampatzoglou, A., Ampatzoglou, A., Chatzigeorgiou, A., Avgeriou, P.: The financial aspect of managing technical debt: a systematic literature review. Inf. Softw. Technol. 64, 52–73 (2015)CrossRef
4.
Zurück zum Zitat Besova, G., Steenken, D., Wehrheim, H.: Grammar-based model transformations: definition, execution, and quality properties. Comput. Lang. Syst. Struct. 43, 116–138 (2015)MATH Besova, G., Steenken, D., Wehrheim, H.: Grammar-based model transformations: definition, execution, and quality properties. Comput. Lang. Syst. Struct. 43, 116–138 (2015)MATH
5.
Zurück zum Zitat Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd, Birmingham (2013) Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd, Birmingham (2013)
6.
Zurück zum Zitat Boud, D.: Sustainable assessment: rethinking assessment for the learning society. Stud. Contin. Educ. 22(2), 151–167 (2000)CrossRef Boud, D.: Sustainable assessment: rethinking assessment for the learning society. Stud. Contin. Educ. 22(2), 151–167 (2000)CrossRef
7.
Zurück zum Zitat Brambilla, M., Cabot, J., Wimmer, M.: Model-driven software engineering in practice. Synth. Lect. Softw. Eng. 1(1), 1–182 (2012)CrossRef Brambilla, M., Cabot, J., Wimmer, M.: Model-driven software engineering in practice. Synth. Lect. Softw. Eng. 1(1), 1–182 (2012)CrossRef
10.
Zurück zum Zitat Ford, B.: Parsing expression grammars: a recognition-based syntactic foundation. In: Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’04, pp. 111–122. ACM, New York, NY, USA (2004). https://doi.org/10.1145/964001.964011 Ford, B.: Parsing expression grammars: a recognition-based syntactic foundation. In: Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’04, pp. 111–122. ACM, New York, NY, USA (2004). https://​doi.​org/​10.​1145/​964001.​964011
11.
Zurück zum Zitat Fowler, M.: Domain-Specific Languages. Pearson Education, London (2010) Fowler, M.: Domain-Specific Languages. Pearson Education, London (2010)
12.
Zurück zum Zitat Gamma, E.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education India, Bangalore (1995) Gamma, E.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education India, Bangalore (1995)
13.
Zurück zum Zitat Gould, E.: Behind Bars: The Definitive Guide to Music Notation. Faber Music, London (2011) Gould, E.: Behind Bars: The Definitive Guide to Music Notation. Faber Music, London (2011)
14.
Zurück zum Zitat Heinze, T.S., Amme, W., Moser, S.: Static analysis and process model transformation for an advanced business process to petri net mapping. Softw. Pract. Exp. 48(1), 161–195 (2018)CrossRef Heinze, T.S., Amme, W., Moser, S.: Static analysis and process model transformation for an advanced business process to petri net mapping. Softw. Pract. Exp. 48(1), 161–195 (2018)CrossRef
15.
Zurück zum Zitat Hermans, F., Pinzger, M., Deursen, A.: Domain-specific languages in practice: a user study on the success factors. In: Model Driven Engineering Languages and Systems: 12th International Conference, pp. 423–437. Springer, Berlin (2009)CrossRef Hermans, F., Pinzger, M., Deursen, A.: Domain-specific languages in practice: a user study on the success factors. In: Model Driven Engineering Languages and Systems: 12th International Conference, pp. 423–437. Springer, Berlin (2009)CrossRef
16.
Zurück zum Zitat Hermans, F., Stolee, K.T., Hoepelman, D.: Smells in block-based programming languages. In: 2016 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2016, Cambridge, United Kingdom, September 4–8, 2016, pp. 68–72 (2016) Hermans, F., Stolee, K.T., Hoepelman, D.: Smells in block-based programming languages. In: 2016 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2016, Cambridge, United Kingdom, September 4–8, 2016, pp. 68–72 (2016)
17.
Zurück zum Zitat Hevner, A., Chatterjee, S.: Design Research in Information Systems: Theory and Practice, vol. 22. Springer, Berlin (2010)CrossRef Hevner, A., Chatterjee, S.: Design Research in Information Systems: Theory and Practice, vol. 22. Springer, Berlin (2010)CrossRef
18.
Zurück zum Zitat ISO/IEC: 14977: Information technology—Syntactic metalanguage—Extended BNF. Standard, International Organization for Standardization (1996) ISO/IEC: 14977: Information technology—Syntactic metalanguage—Extended BNF. Standard, International Organization for Standardization (1996)
19.
Zurück zum Zitat ISO/IEC: 25010: Systems and software engineering—systems and software quality requirements and evaluation (SQuaRE)—System and software quality models. Tech. rep., International Organization for Standardization (2010) ISO/IEC: 25010: Systems and software engineering—systems and software quality requirements and evaluation (SQuaRE)—System and software quality models. Tech. rep., International Organization for Standardization (2010)
20.
Zurück zum Zitat Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1), 31–39 (2008)MathSciNetCrossRef Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1), 31–39 (2008)MathSciNetCrossRef
21.
Zurück zum Zitat Kappel, G., Langer, P., Retschitzegger, W., Schwinger, W., Wimmer, M.: Model transformation by-example: a survey of the first wave. In: Düsterhöft, A., Klettke, M., Schewe, K.-D. (eds.) Conceptual Modelling and Its Theoretical Foundations, pp. 197–215. Springer (2012) Kappel, G., Langer, P., Retschitzegger, W., Schwinger, W., Wimmer, M.: Model transformation by-example: a survey of the first wave. In: Düsterhöft, A., Klettke, M., Schewe, K.-D. (eds.) Conceptual Modelling and Its Theoretical Foundations, pp. 197–215. Springer (2012)
22.
Zurück zum Zitat Kruchten, P., Nord, R.L., Ozkaya, I.: Technical debt: from metaphor to theory and practice. IEEE Softw. 29(6), 18–21 (2012)CrossRef Kruchten, P., Nord, R.L., Ozkaya, I.: Technical debt: from metaphor to theory and practice. IEEE Softw. 29(6), 18–21 (2012)CrossRef
23.
Zurück zum Zitat Letouzey, J.L.: The SQALE method for evaluating technical debt. In: Managing Technical Debt (MTD), 2012 Third International Workshop on, pp. 31–36. IEEE (2012) Letouzey, J.L.: The SQALE method for evaluating technical debt. In: Managing Technical Debt (MTD), 2012 Third International Workshop on, pp. 31–36. IEEE (2012)
24.
Zurück zum Zitat Mandal, A., Mohan, D., Jetley, R., Nair, S., D’Souza, M.: A generic static analysis framework for domain-specific languages. In: 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), vol. 1, pp. 27–34 (2018). https://doi.org/10.1109/ETFA.2018.8502576 Mandal, A., Mohan, D., Jetley, R., Nair, S., D’Souza, M.: A generic static analysis framework for domain-specific languages. In: 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), vol. 1, pp. 27–34 (2018). https://​doi.​org/​10.​1109/​ETFA.​2018.​8502576
25.
Zurück zum Zitat Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)CrossRef Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)CrossRef
26.
Zurück zum Zitat Nienhuys, H.W., Nieuwenhuizen, J.: Lilypond, a system for automated music engraving. In: Proceedings of the XIV Colloquium on Musical Informatics (XIV CIM 2003), vol. 1, pp. 167–172 (2003) Nienhuys, H.W., Nieuwenhuizen, J.: Lilypond, a system for automated music engraving. In: Proceedings of the XIV Colloquium on Musical Informatics (XIV CIM 2003), vol. 1, pp. 167–172 (2003)
27.
Zurück zum Zitat Parr, T., Fisher, K.: LL (*): the foundation of the ANTLR parser generator. In: ACM SIGPLAN Notices, vol. 46, pp. 425–436. ACM (2011) Parr, T., Fisher, K.: LL (*): the foundation of the ANTLR parser generator. In: ACM SIGPLAN Notices, vol. 46, pp. 425–436. ACM (2011)
28.
Zurück zum Zitat Prähofer, H., Angerer, F., Ramler, R., Lacheiner, H., Grillenberger, F.: Opportunities and challenges of static code analysis of iec 61131-3 programs. In: Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies Factory Automation (ETFA 2012), pp. 1–8 (2012). https://doi.org/10.1109/ETFA.2012.6489535 Prähofer, H., Angerer, F., Ramler, R., Lacheiner, H., Grillenberger, F.: Opportunities and challenges of static code analysis of iec 61131-3 programs. In: Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies Factory Automation (ETFA 2012), pp. 1–8 (2012). https://​doi.​org/​10.​1109/​ETFA.​2012.​6489535
30.
Zurück zum Zitat Rochimah, S., Arifiani, S., Insanittaqwa, V.F.: Non-source code refactoring: a systematic literature review. Int. J. Softw. Eng. Appl. 9(6), 197–214 (2015) Rochimah, S., Arifiani, S., Insanittaqwa, V.F.: Non-source code refactoring: a systematic literature review. Int. J. Softw. Eng. Appl. 9(6), 197–214 (2015)
31.
Zurück zum Zitat Rose, K.: Project Quality Management: Why, What and How, 2nd edn. J. Ross Publishing, USA (2005) Rose, K.: Project Quality Management: Why, What and How, 2nd edn. J. Ross Publishing, USA (2005)
32.
Zurück zum Zitat Rubin, J., Chisnell, D.: Handbook of Usability Testing: How to Plan, Design, and Conduct Effective Tests. Wiley, Hoboken (2008) Rubin, J., Chisnell, D.: Handbook of Usability Testing: How to Plan, Design, and Conduct Effective Tests. Wiley, Hoboken (2008)
33.
Zurück zum Zitat Ruiz-Rube, I., Person, T., Dodero, J.M.: Static analysis of textual models. In: Jornadas de Ingeniería del Software y Bases de Datos (JISBD) (2016) Ruiz-Rube, I., Person, T., Dodero, J.M.: Static analysis of textual models. In: Jornadas de Ingeniería del Software y Bases de Datos (JISBD) (2016)
34.
Zurück zum Zitat Saad, C., Bauer, B.: Data-flow based model analysis and its applications. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) Model-Driven Engineering Languages and Systems, pp. 707–723. Springer, Berlin, Heidelberg (2013)CrossRef Saad, C., Bauer, B.: Data-flow based model analysis and its applications. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) Model-Driven Engineering Languages and Systems, pp. 707–723. Springer, Berlin, Heidelberg (2013)CrossRef
35.
Zurück zum Zitat Shambaugh, R., Weiss, A., Guha, A.: Rehearsal: a configuration verification tool for puppet. In: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’16, pp. 416–430. ACM, New York, NY, USA (2016). https://doi.org/10.1145/2908080.2908083 Shambaugh, R., Weiss, A., Guha, A.: Rehearsal: a configuration verification tool for puppet. In: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’16, pp. 416–430. ACM, New York, NY, USA (2016). https://​doi.​org/​10.​1145/​2908080.​2908083
36.
37.
Zurück zum Zitat Stevenson, A., Cordy, J.R.: A survey of grammatical inference in software engineering. Sci. Comput. Program. 96, 444–459 (2014)CrossRef Stevenson, A., Cordy, J.R.: A survey of grammatical inference in software engineering. Sci. Comput. Program. 96, 444–459 (2014)CrossRef
38.
Zurück zum Zitat Syriani, E., Gray, J.: Challenges for addressing quality factors in model transformation. In: 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation, pp. 929–937 (2012) Syriani, E., Gray, J.: Challenges for addressing quality factors in model transformation. In: 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation, pp. 929–937 (2012)
39.
Zurück zum Zitat Tomas, P., Escalona, M., Mejias, M.: Open source tools for measuring the internal quality of java software products. A survey. Comput. Stand. Interfaces 36(1), 244–255 (2013)CrossRef Tomas, P., Escalona, M., Mejias, M.: Open source tools for measuring the internal quality of java software products. A survey. Comput. Stand. Interfaces 36(1), 244–255 (2013)CrossRef
Metadaten
Titel
Applying static code analysis for domain-specific languages
verfasst von
Iván Ruiz-Rube
Tatiana Person
Juan Manuel Dodero
José Miguel Mota
Javier Merchán Sánchez-Jara
Publikationsdatum
06.04.2019
Verlag
Springer Berlin Heidelberg
Erschienen in
Software and Systems Modeling / Ausgabe 1/2020
Print ISSN: 1619-1366
Elektronische ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-019-00729-w

Weitere Artikel der Ausgabe 1/2020

Software and Systems Modeling 1/2020 Zur Ausgabe