Title: Software porting support with component-based and language neutral source code analysis

Authors: Pasquale Cantiello; Beniamino Di Martino

Addresses: Dipartimento di Ingegneria dell'Informazione, Second University of Naples, Aversa I-81031, Italy ' Dipartimento di Ingegneria dell'Informazione, Second University of Naples, Aversa I-81031, Italy

Abstract: During their lifetimes, programs are subject to modifications, not only to implement new features or to correct bugs, but also to adapt them to new hardware architectures. Parallel environments as multi/many-cores CPUs or GPUs require source code transformations to extract parallelisable regions of code and to allocate workloads on devices. This process requires not only skilled developers, but mainly a deep comprehension of the semantics of the code. In this work is presented a technique and its prototype implementation for component based and language neutral static program analysis that can assist developers in the analysis, comprehension and transformation of code. Source code is statically analysed and modelled with a language neutral representation conceived to permit interoperability between tool components and plugins. This model is designed as a class hierarchy, and implemented in a library to be used by user-developed add-ons. Parsers for two languages, control flow, data flow, data dependence analysis modules have been implemented or integrated. An algorithmic recogniser has also been integrated: basic algorithmic concepts are extracted in order to feed a knowledge base, upon which an external reasoner can do queries to find instances of known algorithms.

Keywords: source code analysis; static analysis; program comprehension; software representation; software porting support; component-based software; language neutral representation; software development; modelling; control flow; data flow.

DOI: 10.1504/IJCSE.2014.060678

International Journal of Computational Science and Engineering, 2014 Vol.9 No.3, pp.222 - 234

Received: 16 Dec 2011
Accepted: 23 Apr 2012

Published online: 24 May 2014 *

Full-text access for editors Full-text access for subscribers Purchase this article Comment on this article