Source code accompanying the paper:Markus Klinik, Bernard van Gastel, Cynthia Kop, and Marko van Eekelen. Skylines for symbolic energy consumption analysis. In Proceedings of 25th FMICS. Springer, 2020.CONTENTS- app: Contains the main program.- src: Contains the source code of the compiler, the analysis itself, the merge algorithm, and the graph generator.- test: Contains unit tests; mostly interesting for developers.- programs: Contains various test programs to demonstrate the analysis.- More information on how to compile and run this program can be found in README.txtSHORT SUMMARYEnergy consumption in embedded systems plays a large role as it has implications for the power supply and the batteries used. Programmers of these systems should consider how their programs control external devices , and where energy consumption hotspots lie. We present a static analysis to predict and visualize energy consumption of external devices controlled by programs written in a simple imperative programming language. Currently available energy consumption analysis techniques generate graphs over time, which makes it difficult to see from where in the source code the consumption originates. Our method generates graphs over source locations, called skyline diagrams, showing the maximum power draw for each line of source code. Our method harnessess symbolic execution extended with support for controlling external devices. This gives accurate predictions and complete code path coverage, as far as the limits of computability allow. To make the diagrams easier to understand, we introduce a merge algorithm that condenses all skylines into a concise overview. We demonstrate the potential by analysing various example programs with our prototype implementation. We envision this approach being used to identify energy consumption hotspots of embedded systems during the design and development phase, in a less involved way than traditional approaches.