25 research outputs found
Lightweight Call-Graph Construction for Multilingual Software Analysis
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++.Comment: 10 page
On porting software visualization tools to the web
Software systems are hard to understand due to the complexity and the sheer size of the data to be analyzed. Software visualization tools are a great help as they can sum up large quantities of data in dense, meaningful pictures. Traditionally, such tools come in the form of desktop applications. Modern web frameworks are about to change this status quo, as building software visualization tools as web applications can help in making them available to a larger audience in a collaborative setting. Such a migration comes with a number of promises, perils, and technical implications that must be considered before starting any migration process. In this paper, we share our experiences in porting two such tools to the web and provide guidelines about the porting. In particular, we discuss promises and perils that go hand in hand with such an endeavor and present a number of technological alternatives that are available to implement web-based visualization