Selection of components for a test measurements

Decision: We are measuring software libraries and IDEs. Approach: Define ****selection criteria for the libraries, chose a methodology for measuring the library or IDE, where do we measure (compiler, operating system level, etc.)

Selecting the test subjects

https://vimeo.com/668526785/7c06108bde

Measurement approaches

  1. For libraries, we have chosen to use the unit tests of each library as a usage scenario. This allows us to record the power usage for each test run. A test suite in many cases covers > 95% of the code of the libraries and its thus safe to assume that running the full test suit can be equaled to ‘running all of the libraries code’
  2. For IDEs, which are desktop software, we are going to use the existing Birkenfeld approach, defining a manual usage scenario (e.g. run compile, edit some code) and measure the underlying power consumption. We will attempt to automate this ‘click and measure process’.

Selection criteria & matrix of libraries

SoftAWERE Scoring Model

Justification

In order to ensure a rather random approach to selecting software components, we simply used the list of most popular libraries for each programming language from Github. As Github represents the majority of open-source code repositories worldwide, the popularity ranking can be considered representative. This has the added the side-effect that the measurements of energy-use for these is relevant to a very large audience of developers who are already using these components.

Further, these popular components often have a large community of contributors who are actively working on the software code of the component. This means that rapid improvements can be made, thus there is potential users of our tooling & energy-measurement who can use it to reduce the total energy consumption of the component, which in turn could impact thousands of software applications using that component.

Technically, we set a few more conditions in order to be able to perform our tests and that our experiments are easily repeatable:

Relevant research

Notes

Notes on WP1 in German