Static Analysis, Software Engineering, Call Graphs
Computer Sciences | Programming Languages and Compilers | Software Engineering
Large software systems can often be multilingual – that is, software systems are written in more than one language. However, many popular software engineering tools are monolingual by nature. Nonetheless, companies are faced with the need to manage their large, multilingual codebases to address issues with security, efficiency, and quality metrics. This paper presents a novel lightweight approach to multilingual software analysis – MLSA. The approach is modular and focused on efficient static analysis computation for large codebases. One topic is addressed in detail – the generation of multilingual call graphs to identify language boundary problems in multilingual code. The algorithm for extracting multilingual call graphs from C/Python codebases is described, and an example is presented. Finally, the state of current testing on a database of programs downloaded from the internet is detailed and the implications for future work are discussed.
12th Int. Conf. on Software Technologies (ICSoft) Madrid Spain, July 2017.
Damian Lyons, Anne-Marie Bogar, David Baird “Lightweight Multilingual Software Analysis” 12th Int. Conf. on Software Technologies (ICSoft) Madrid Spain, July 2017.
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.