Open Access

Improving productivity in large scale testing at the compiler level by changing the intermediate language from C++ to Java


Cite

This paper is based on research results achieved by a collaboration between Ericsson Hungary Ltd. and the Large Scale Testing Research Lab of Eötvös Loránd University, Budapest. We present design issues and empirical observations on extending an existing industrial toolset with a new intermediate language1.

Context: The industry partner’s toolset is using C/C++ as an intermediate language, providing good execution performance, but “somewhat long” build times, o ering a sub-optimal experience for users.

Objective: In cooperation with our industry partner our task was to perform an experiment with Java as a different intermediate language and evaluate results, to see if this could improve build times.

Method: We extended the mentioned toolset to use Java as an intermediate language.

Results: Our measurements show that using Java as an intermediate language improves build times significantly. We also found that, while the runtime performance of C/C++ is better in some situations, Java, at least in our testing scenarios, can be a viable alternative to improve developer productivity.

Our contribution is unique in the sense that both ways of building and execution can use the same source code as input, written in the same language, generate intermediate codes with the same high-level structure, compile into executables that are configured using the same files, run on the same machine, show the same behaviour and generate the same logs.

Conclusions: We created an alternative build pipeline that might enhance the productivity of our industry partner’s test developers by reducing the length of builds during their daily work.

eISSN:
2066-7760
Language:
English
Publication timeframe:
2 times per year
Journal Subjects:
Computer Sciences, other