In Thread-Level Speculation (TLS), speculative tasks generate memory state that cannot simply be combined with the rest of the system because it is unsafe. One way to deal with th...
Runtime quality of software, such as availability and throughput, depends on architectural factors and execution environment characteristics (e.g. CPU speed, network latency). Alth...
Differential Power Analysis (DPA) is a powerful side channel key recovery attack that efficiently breaks block ciphers implementations. In software, two main techniques are usually...
Complexity of near future and even nowadays applications is exponentially increasing. In order to tackle the design of such complex systems, being able to engineer self-organising ...
Refactoring aims to improve the quality of a software systems’ structure, which tends to degrade as the system evolves. While manually determining useful refactorings can be cha...