Lightweight Call-Graph Construction for Multilingual Software Analysis

08/03/2018
by   Anne Marie Bogar, et al.
0

Analysis of multilingual codebases is a topic of increasing importance. In prior work, we have proposed the MLSA (MultiLingual Software Analysis) architecture, an approach to the lightweight analysis of multilingual codebases, and have shown how it can be used to address the challenge of constructing a single call graph from multilingual software with mutual calls. This paper addresses the challenge of constructing monolingual call graphs in a lightweight manner (consistent with the objective of MLSA) which nonetheless yields sufficient information for resolving language interoperability calls. A novel approach is proposed which leverages information from a compiler-generated AST to provide the quality of call graph necessary, while the program itself is written using an Island Grammar that parses the AST providing the lightweight aspect necessary. Performance results are presented for a C/C++ implementation of the approach, PAIGE (Parsing AST using Island Grammar Call Graph Emitter) showing that despite its lightweight nature, it outperforms Doxgen, is robust to changes in the (Clang) AST, and is not restricted to C/C++.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/03/2018

Lightweight Multilingual Software Analysis

Developer preferences, language capabilities and the persistence of olde...
research
06/19/2019

Towards Lakosian Multilingual Software Design Principles

Large software systems often comprise programs written in different prog...
research
11/12/2015

A Multilingual FrameNet-based Grammar and Lexicon for Controlled Natural Language

Berkeley FrameNet is a lexico-semantic resource for English based on the...
research
08/29/2019

Multilingual and Multi-Aspect Hate Speech Analysis

Current research on hate speech analysis is typically oriented towards m...
research
09/16/2020

NABU - Multilingual Graph-based Neural RDF Verbalizer

The RDF-to-text task has recently gained substantial attention due to co...
research
05/07/2021

NoCFG: A Lightweight Approach for Sound Call Graph Approximation

Interprocedural analysis refers to gathering information about the entir...

Please sign up or login with your details

Forgot password? Click here to reset