Abstract

Programs written in a high-level language such as C and Java, interleaved with declarative database processing and inter-service communication statements are common in Enterprise Information Systems (EIS). IT companies that offer re-engineering services for such EIS rely on manual analysis or code analysis tools to understand the flow of control and data within and across the programs during the reverse-engineering phase. Generally, the code analyzers are developed for commonly used programming languages, and lack support for analyzing database processing and inter-service communication statements. Therefore, such analysis tools cannot be readily re-used for re-engineering projects. In this paper, we share the key challenges of handling program analysis requirements for large embedded Structured Query Language (SQL) applications written in C language. We describe our approach to transform a program written in C and embedded SQL into a plain C program which can be automatically analyzed using any available C code analyzer that has no explicit support for domain specific extensions like SQL. We deployed the data dependency analysis based on our transformation approach as a feature in an industrial code analysis tool. We present the evaluation and results that show a precision improvement for slices as compared to the naïve translation provided by the standard pre-compiler.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call