4
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Static Code Analysis of Multilanguage Software Systems

      Preprint

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          Identifying dependency call graphs of multilanguage software systems using static code analysis is challenging. The different languages used in developing today's systems often have different lexical, syntactical, and semantic rules that make thorough analysis difficult. Also, they offer different modularization and dependency mechanisms, both within and between components. Finally, they promote and--or require varieties of frameworks offering different sets of services, which introduce hidden dependencies, invisible with current static code analysis approaches. In this paper, we identify five important challenges that static code analysis must overcome with multilanguage systems and we propose requirements to handle them. Then, we present solutions of these requirements to handle JEE applications, which combine server-side Java source code with a number of client-side Web dialects (e.g., JSP, JSF) while relying on frameworks (e.g., Web and EJB containers) that create hidden dependencies. Finally, we evaluate our implementations of the solutions by developing a set of tools to analyze JEE applications to build a dependency call graph and by applying these tools on two sample JEE applications. Our evaluation shows that our tools can solve the identified challenges and improve the recall in the identification of multilanguage dependencies compared to standard JEE static code analysis and, thus, indirectly that the proposed requirements are useful to build multilanguage static code analysis.

          Related collections

          Most cited references10

          • Record: found
          • Abstract: not found
          • Article: not found

          Program comprehension during software maintenance and evolution

            Bookmark
            • Record: found
            • Abstract: not found
            • Conference Proceedings: not found

            Challenges for Static Analysis of Java Reflection - Literature Review and Empirical Study

              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              MoDisco: A model driven reverse engineering framework

                Bookmark

                Author and article information

                Journal
                03 June 2019
                Article
                1906.00815
                8497c3a9-4a52-4be4-be77-387eb861ff05

                http://arxiv.org/licenses/nonexclusive-distrib/1.0/

                History
                Custom metadata
                11 pages, 7 figures
                cs.SE

                Software engineering
                Software engineering

                Comments

                Comment on this article