Research topics 

This list reports a brief sketch of some of my research interests.

Cybersecurity

The security of cyber physical systems represents today a field where countries are basing their future economic growth. Despite its importance, this is a field where the asymmetry between criminals and defendants is continuously growing: dozens of new attacks with severe impacts are discovered every day, while technologies and methodologies for securing target systems struggle to advance at an adequate pace. Further research is strongly needed to improve the ability of security operators to face more effectively and timely an ever increasing mass of attacks. My research in this context is focused on the study of new approaches to support security analysis in their reverse engineering efforts. Some of the solutions I investigate are based on the usage of language based models, that we exploit to automatically identify relevant characteristics in binary code.

Stream processing

In the last few years we are witnessing a huge growth in information production. IBM claims that "every day, we create 2.5 quintillion bytes of data - so much that 90% of the data in the world today has been created in the last two years alone". This apparently unrelenting growth is a consequence of several factors including the pervasiveness of social networks, the smartphone market success, the shift toward an “Internet of things” and the consequent widespread deployment of sensor networks. Big Data applications are typically characterized by the three V's: large volumes (up to petabytes) at a high velocity (intense data streams that must be analyzed in quasi real-time) with extreme variety (mix of structured and unstructured data). These large datasets are typically analyzed using either a batch approach (using well-known frameworks like Apache Hadoop) or with stream processing. This latter approach focussed on representing data as a real-time flow of events proved to be particularly advantageous for all those applications where data is continuously produced and must be analyzed on the fly. Complex event processing engines are used to apply complex detection and aggregation rules on intense data streams and output, as a result, new events. My research in this context is focussed in studying novel solutions for increasing the scalability and efficiency of stream processing systems as well as improving their reliability to faults.

Recommendation systems


The amount of user generated data in today's internet and the rate at which such data is created poses a challenge to state-of-the-art recommender system solutions. For instance, the Twitter micro-blogging service has surpassed 200 million active users, generating more than 500 million tweets (micro-blog posts) per day at rates that recently (Aug 2013) peaked at 143199 tweets per second. The main challenge is to timely satisfy the dynamic short term information needs of the users. Research efforts spent in the last ten years on this topic yield several solutions that, as of today, provide accurate rating predictions, but may incur prohibitive computational costs and large time-to-prediction intervals when applied on large data sets. My research is focussed on designing novel solutions and refining existing ones to improve the scalability and efficiency of recommendation systems.

Data dissemination through the publish/subscribe paradigm


The publish/subscribe communication paradigm is an appealing alternative to the traditional request/reply sibling for all those applications where many-to-many data diffusion is heavily used. My research in this area focused on the design of new event routing mechanisms for distributed publish/subscribe systems; these mechanisms, applied on both managed and peer-to-peer systems, leverage clustering techniques to improve performance. Clustering, in fact, is used to put close in the overlay network on which event routing is realized, users sharing similar interest, reducing in this way the average number of messages generated to diffuse data.

Peer-to-peer overlay networks


Distributed applications faced in the last decade an enormous growth tanks to the introduction of the peer-to-peer interaction model. These applications are based on an infrastructure (overlay network) whose main purpose is to maintain a logical network connecting all the users. In this research area my interests were mainly focused on the study of gossip-based algorithm for the maintenance of random-like overlay network topologies, and, more specifically, on the impact of churn (the continuous addition/removal of users to the system) on these algorithms. In the same context, I also worked on the definition of a general framework for the implementation of distributed quorum systems for DHT-based overlay networks.

Mobile ad-hoc networks


Mobile ad-hoc networks (MANETs) are constituted by mobile nodes communicating directly though wireless network adapters without the need of any fixed infrastructures. Such systems pose challenging problems that have a huge impact at various level of the network stack: from low level communication protocols, up to applications. In this research field I worked on the design of a novel message routing protocol that tries to avoid the shortcomings of classic approaches, originally thought for static networks and then adapted to the mobile world. The proposed protocols leverage the peculiar characteristics of the wireless medium to probabilistically track node movements, and then uses this information to route messages. This technique has been first employed to implement an unicast communication primitive, and then to realize a simple, but effective, event routing mechanism for publish/subscribe.