Authors:
Damian M. Lyons
1
;
Anne Marie Bogar
1
and
David Baird
2
Affiliations:
1
Fordham University, United States
;
2
Bloomberg L.P., United States
Keyword(s):
Software Engineering, Programming Languages, Software Systems and Testing, Software and Systems Quality.
Related
Ontology
Subjects/Areas/Topics:
Programming Languages
;
Software Engineering
;
Software Metrics
;
Software Project Management
Abstract:
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.