Standard

On development of static analysis tools for string-embedded languages. / Khabibullin, Marat; Grigorev, Semyon.

CEE-SECR 2015 - Proceedings of the 11th Central and Eastern European Software Engineering Conference in Russia. Association for Computing Machinery, 2015. 5 (ACM International Conference Proceeding Series; Vol. 22-23-October-2015).

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Harvard

Khabibullin, M & Grigorev, S 2015, On development of static analysis tools for string-embedded languages. in CEE-SECR 2015 - Proceedings of the 11th Central and Eastern European Software Engineering Conference in Russia., 5, ACM International Conference Proceeding Series, vol. 22-23-October-2015, Association for Computing Machinery, 11th Central and Eastern European Software Engineering Conference in Russia, CEE-SECR 2015, Moscow, Russian Federation, 22/10/15. https://doi.org/10.1145/2855667.2855672

APA

Khabibullin, M., & Grigorev, S. (2015). On development of static analysis tools for string-embedded languages. In CEE-SECR 2015 - Proceedings of the 11th Central and Eastern European Software Engineering Conference in Russia [5] (ACM International Conference Proceeding Series; Vol. 22-23-October-2015). Association for Computing Machinery. https://doi.org/10.1145/2855667.2855672

Vancouver

Khabibullin M, Grigorev S. On development of static analysis tools for string-embedded languages. In CEE-SECR 2015 - Proceedings of the 11th Central and Eastern European Software Engineering Conference in Russia. Association for Computing Machinery. 2015. 5. (ACM International Conference Proceeding Series). https://doi.org/10.1145/2855667.2855672

Author

Khabibullin, Marat ; Grigorev, Semyon. / On development of static analysis tools for string-embedded languages. CEE-SECR 2015 - Proceedings of the 11th Central and Eastern European Software Engineering Conference in Russia. Association for Computing Machinery, 2015. (ACM International Conference Proceeding Series).

BibTeX

@inproceedings{a14a3588c6b74f8eb3320aeceada5187,
title = "On development of static analysis tools for string-embedded languages",
abstract = "Some programs can produce string expressions with embedded code in other programming languages while running. This embedded code should be syntactically correct as it is typically executed by some subsystem. A program in Java language that builds and sends SQL queries to the database it works with can be considered as an example. In such scenarios, languages like SQL are called string-embedded and ones like Java { host languages. In spite of the fact such an approach of programs building is being replaced by alternative ones, for example by ORM and LINQ, string-embedding is still used in practice. Development and reengineering of the programs with stringembedded languages is complicated because the IDE and similar tools process the code embedded in strings as host language string literals and cannot provide the functionality to work with this code. To facilitate the development process, string-embedded code highlighting, completion, navigation and static errors checking would be useful. For the purposes of reengineering, embedded code metrics computation would be helpful. Currently existing tools to string-embedded languages support only operate with one host language and a fixed set of string-embedded ones. Their functionality is often limited. Moreover, it is almost impossible or requires a substantial amount of work to add a support for both new host and string-embedded language. Attempts to extend their functionality often result in the same problem. In this paper we present the platform which can be used for relatively fast and easy building of endpoint tools that provide a support for difeerent string-embedded languages inside diferent host languages. The tools built for T-SQL and arithmetic expressions language embedding in C# are demonstrated as the examples of how the platform can be used.",
keywords = "Approximation, CFG, Control Flow graph, IDE, Integrated development environment, String-embedded language",
author = "Marat Khabibullin and Semyon Grigorev",
year = "2015",
month = oct,
day = "22",
doi = "10.1145/2855667.2855672",
language = "English",
series = "ACM International Conference Proceeding Series",
publisher = "Association for Computing Machinery",
booktitle = "CEE-SECR 2015 - Proceedings of the 11th Central and Eastern European Software Engineering Conference in Russia",
address = "United States",
note = "11th Central and Eastern European Software Engineering Conference in Russia, CEE-SECR 2015 ; Conference date: 22-10-2015 Through 23-10-2015",

}

RIS

TY - GEN

T1 - On development of static analysis tools for string-embedded languages

AU - Khabibullin, Marat

AU - Grigorev, Semyon

PY - 2015/10/22

Y1 - 2015/10/22

N2 - Some programs can produce string expressions with embedded code in other programming languages while running. This embedded code should be syntactically correct as it is typically executed by some subsystem. A program in Java language that builds and sends SQL queries to the database it works with can be considered as an example. In such scenarios, languages like SQL are called string-embedded and ones like Java { host languages. In spite of the fact such an approach of programs building is being replaced by alternative ones, for example by ORM and LINQ, string-embedding is still used in practice. Development and reengineering of the programs with stringembedded languages is complicated because the IDE and similar tools process the code embedded in strings as host language string literals and cannot provide the functionality to work with this code. To facilitate the development process, string-embedded code highlighting, completion, navigation and static errors checking would be useful. For the purposes of reengineering, embedded code metrics computation would be helpful. Currently existing tools to string-embedded languages support only operate with one host language and a fixed set of string-embedded ones. Their functionality is often limited. Moreover, it is almost impossible or requires a substantial amount of work to add a support for both new host and string-embedded language. Attempts to extend their functionality often result in the same problem. In this paper we present the platform which can be used for relatively fast and easy building of endpoint tools that provide a support for difeerent string-embedded languages inside diferent host languages. The tools built for T-SQL and arithmetic expressions language embedding in C# are demonstrated as the examples of how the platform can be used.

AB - Some programs can produce string expressions with embedded code in other programming languages while running. This embedded code should be syntactically correct as it is typically executed by some subsystem. A program in Java language that builds and sends SQL queries to the database it works with can be considered as an example. In such scenarios, languages like SQL are called string-embedded and ones like Java { host languages. In spite of the fact such an approach of programs building is being replaced by alternative ones, for example by ORM and LINQ, string-embedding is still used in practice. Development and reengineering of the programs with stringembedded languages is complicated because the IDE and similar tools process the code embedded in strings as host language string literals and cannot provide the functionality to work with this code. To facilitate the development process, string-embedded code highlighting, completion, navigation and static errors checking would be useful. For the purposes of reengineering, embedded code metrics computation would be helpful. Currently existing tools to string-embedded languages support only operate with one host language and a fixed set of string-embedded ones. Their functionality is often limited. Moreover, it is almost impossible or requires a substantial amount of work to add a support for both new host and string-embedded language. Attempts to extend their functionality often result in the same problem. In this paper we present the platform which can be used for relatively fast and easy building of endpoint tools that provide a support for difeerent string-embedded languages inside diferent host languages. The tools built for T-SQL and arithmetic expressions language embedding in C# are demonstrated as the examples of how the platform can be used.

KW - Approximation

KW - CFG

KW - Control Flow graph

KW - IDE

KW - Integrated development environment

KW - String-embedded language

UR - http://www.scopus.com/inward/record.url?scp=84976319530&partnerID=8YFLogxK

U2 - 10.1145/2855667.2855672

DO - 10.1145/2855667.2855672

M3 - Conference contribution

AN - SCOPUS:84976319530

T3 - ACM International Conference Proceeding Series

BT - CEE-SECR 2015 - Proceedings of the 11th Central and Eastern European Software Engineering Conference in Russia

PB - Association for Computing Machinery

T2 - 11th Central and Eastern European Software Engineering Conference in Russia, CEE-SECR 2015

Y2 - 22 October 2015 through 23 October 2015

ER -

ID: 48535393