Home Page of Roberto Natella

I am an assistant professor at the Federico II University of Naples, Italy. My research interests are in the field of software dependability, and include software fault injection, dependability benchmarking, and software aging and rejuvenation, with applications in operating systems and virtualization technologies. In 2011, I received a PhD degree in computer engineering with a thesis entitled "Achieving Representative Faultloads in Software Fault Injection".


New paper: Translating natural language (English) into exploits in Python/Assembly using Neural Machine Translation (NMT), see https://github.com/dessertlab/EVIL

New repository: We have released ProFuzzBench - A Benchmark for Stateful Protocol Fuzzing. Please check it out!

Latest journal papers: timing covert channels in embedded hypervisors; failure data analysis using deep embedded clustering

Research Interests

Fault Injection and Robustness Testing

The occurrence of severe software-related accidents highlights the need for assuring that complex systems are able to operate even in the presence of faulty software. Software Fault Injection is the deliberate injection of software faults or errors into a component, in order to assess fault-tolerance and robustness properties. Two fundamental issues arise:

What should be injected to perform meaningful and relevant fault injection experiments (e.g., find robustness issues that do actually matter)?
Can we keep small the number and duration of experiments and, at the same time, obtain useful results (e.g., quickly find robustness issues)?
See also:

Software Aging and Rejuvenation

When software systems are executed continuously for long time periods, they tend to exhibit degraded performance and are more prone to fail. This phenomenon, namely software aging, is caused by elusive software bugs ("Mandelbugs") that gradually corrupt the software state, such as memory leak bugs. On one hand, software aging can be mitigated by preemptively rejuvenating the software, i.e., bringing it into an aging-free state, for instance by restarting it. On the other hand, software aging can be avoided by detecting and fixing bugs, such as through performance and resource consumption tests.

See also:

Contact information

roberto dot natella at unina dot it
Laboratorio CINI-ITEM, Complesso Universitario Monte Sant'Angelo, Ed. 1, Via Cinthia, 80126, Naples, Italy
(+39) 081 67 67 70