Lightweight Call-Graph Construction for Multilingual Software Analysis

Anne Marie Bogar, Damian M. Lyons, David Baird

2018

Abstract

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++.

Download


Paper Citation


in Harvard Style

Bogar A., Lyons D. and Baird D. (2018). Lightweight Call-Graph Construction for Multilingual Software Analysis.In Proceedings of the 13th International Conference on Software Technologies - Volume 1: ICSOFT, ISBN 978-989-758-320-9, pages 328-337. DOI: 10.5220/0006911803280337


in Bibtex Style

@conference{icsoft18,
author={Anne Marie Bogar and Damian M. Lyons and David Baird},
title={Lightweight Call-Graph Construction for Multilingual Software Analysis},
booktitle={Proceedings of the 13th International Conference on Software Technologies - Volume 1: ICSOFT,},
year={2018},
pages={328-337},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006911803280337},
isbn={978-989-758-320-9},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 13th International Conference on Software Technologies - Volume 1: ICSOFT,
TI - Lightweight Call-Graph Construction for Multilingual Software Analysis
SN - 978-989-758-320-9
AU - Bogar A.
AU - Lyons D.
AU - Baird D.
PY - 2018
SP - 328
EP - 337
DO - 10.5220/0006911803280337