Tool Support

Our framework provides also an interactive GUI interface to enable the user to configure and run the different components. It provides many features for non-functional testing of code generators (i.e., the case of Haxe in Figure 1)

For instance, software testers can:

  • select input program under test: use Haxe benchmark libraries for example
  • select test suite: select one test suite to run
  • select target system architecture: choose processor architecture such as x64, x86, ARM. This is part of our future work since we are running experiments only on a x64 architecture. We are preparing a QEMU docker image to handle platforms heterogeneity.
  • select target language: JAVA, JS, C++, C# or PHP.
  • configure monitoring components: versions, labels, ports, logins, passwords
  • choose ip address of the cloud host machine where experiments will be running
  • define resource constraints to running container: in case we would run generated code under resource constraints.

The execution results (i.e., memory usage, execution time) will be displayed on the console output box. We provide also a Web UI to see time series data, but this is the Desktop application of our framework:

Capture d’écran 2016-07-01 à 15.10.48.png
Figure 1 – Snapshot of our Desktop application for testing code generators