Is My Code Easy to Port? Using Taint Analysis to Evaluate and Assist Code Portability

Andrea Fornaia, Emiliano Tramontana · 2017

Code portability is a desirable non-functional requirement. The most established metric evaluating it consists of counting the number of instructions that use platform specific APIs. Generally, instructions using APIs are preceded or followed by related code that e.g. prepares some input for a call or analyses the return value. This paper proposes a taint analysis approach to identify code portions that are related by means of data dependence and are connected to a given platform. By considering both direct calls to platform APIs and the data dependence, we provide a more precise and realistic indication of the code that should be considered in case of platform migration. The proposed approach has been used to analyse an industrial application, and gathered results have been examined to show the validity of our proposal.

Read the paper · More papers on PaperTik