Kyriakos Georgiou

SE
h-index11
4papers
106citations
Novelty29%
AI Score22

4 Papers

3.8CRSep 2, 2021Code
Security-Hardening Software Libraries with Ada and SPARK -- A TCP Stack Use Case

Kyriakos Georgiou, Guillaume Cluzel, Paul Butcher et al.

This white paper demonstrates how the assurance, reliability, and security of an existing professional-grade, open-source embedded TCP/IP stack implementation written in the C programming language is significantly enhanced by adopting the SPARK technology. A multifaceted approach achieves this. Firstly, the TCP layer's C code is being replaced with formally verified SPARK, a subset of the Ada programming language supported by formal verification tools. Then the lower layers, still written in C and on which the TCP layer depends, are modeled using SPARK contracts and validated using symbolic execution with KLEE. Finally, formal contracts for the upper layers are defined to call the TCP layer. The work allowed the detection and correction of two bugs in the TCP layer. In an increasingly connected world, where Cyber Security is of paramount importance, the powerful approach detailed in this work can be applied to any existing critical C library to harden their reliability and security significantly.

6.4SEApr 2, 2021
A Comprehensive and Accurate Energy Model for Arm's Cortex-M0 Processor

Kyriakos Georgiou, Zbigniew Chamski, Kris Nikov et al.

Energy modeling can enable energy-aware software development and assist the developer in meeting an application's energy budget. Although many energy models for embedded processors exist, most do not account for processor-specific configurations, neither are they suitable for static energy consumption estimation. This paper introduces a comprehensive energy model for Arm's Cortex-M0 processor, ready to support energy-aware development of edge computing applications using either profiling- or static-analysis-based energy consumption estimation. The model accounts for the Frequency, PreFetch, and WaitState processor configurations which all have a significant impact on the execution time and energy consumption of edge computing applications. All models have a prediction error of less than 5%.

1.2DMMay 9, 2018
Priority Evacuation from a Disk Using Mobile Robots

J. Czyzowicz, K. Georgiou, R. Killick et al.

We introduce and study a new search-type problem with ($n+1$)-robots on a disk. The searchers (robots) all start from the center of the disk, have unit speed, and can communicate wirelessly. The goal is for a distinguished robot (the queen) to reach and evacuate from an exit that is hidden on the perimeter of the disk in as little time as possible. The remaining $n$ robots (servants) are there to facilitate the queen's objective and are not required to reach the hidden exit. We provide upper and lower bounds for the time required to evacuate the queen from a unit disk. Namely, we propose an algorithm specifying the trajectories of the robots which guarantees evacuation of the queen in time always better than $2 + 4(\sqrt{2}-1) \fracπ{n}$ for $n \geq 4$ servants. We also demonstrate that for $n \geq 4$ servants the queen cannot be evacuated in time less than $2+\fracπ{n}+\frac{2}{n^2}$.

10.1SEJun 27, 2017
The IoT energy challenge: A software perspective

Kyriakos Georgiou, Samuel Xavier-de-Souza, Kerstin Eder

The Internet of Things (IoT) sparks a whole new world of embedded applications. Most of these applications are based on deeply embedded systems that have to operate on limited or unreliable sources of energy, such as batteries or energy harvesters. Meeting the energy requirements for such applications is a hard challenge, which threatens the future growth of the IoT. Software has the ultimate control over hardware. Therefore, its role is significant in optimizing the energy consumption of a system. Currently, programmers have no feedback on how their software affects the energy consumption of a system. Such feedback can be enabled by energy transparency, a concept that makes a program's energy consumption visible, from hardware to software. This paper discusses the need for energy transparency in software development and emphasizes on how such transparency can be realized to help tackling the IoT energy challenge.