Home Page of Roberto Natella


I am Associate Professor in Computer Engineering at the Federico II University of Naples, Italy. My research interests are in the field of software security and dependability. The main recurring theme of my research activity is the experimental injection of faults, attacks, and stressful conditions. My research topics include:
  • fuzzing and static analysis
  • red teaming, adversary emulation, cyber ranges
  • cyber threat intelligence
  • machine learning techniques for security
  • fault injection, robustness testing, dependability benchmarking
  • software aging and rejuvenation
  • applications in operating systems and in cloud, mobile, embedded, and virtualization technologies
In 2022, I received the DSN Rising Star in Dependability Award from the IEEE Technical Committee on Dependable Computing and Fault Tolerance (TCFT) and the IFIP Working Group 10.4 on Dependable Computing and Fault Tolerance, for research achievements within 10 years after PhD graduation.




Publications, datasets, tools


For an up-to-date list of publications, please see my page on Google Scholar and DBLP.

   


You can also find open-source tools and datasets related to my research, on the GitHub DESSERT research group and on my own GitHub account.




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:

Representativeness
What should be injected to perform meaningful and relevant fault injection experiments (e.g., find robustness issues that do actually matter)?
Efficiency
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


Email
roberto dot natella at unina dot it

Address
DIETI Department, Via Claudio 21, 80125, Napoli, Italy
Building 3/A, Office 4.18