|Where Did My Variable Go? Poking Holes in Incomplete Debug Information||International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS||2023|
|BinBench: a benchmark for x64 portable operating system interface binary function representations||PEERJ. COMPUTER SCIENCE.||2023|
|Evaluating Dynamic Binary Instrumentation Systems for Conspicuous Features and Artifacts||DIGITAL THREATS||2022|
|An industry 4.0 approach to large scale production of satellite constellations. The case study of composite sandwich panel manufacturing||ACTA ASTRONAUTICA||2022|
|Special issue on algorithmic theory of dynamic networks and Its applications||JOURNAL OF COMPUTER AND SYSTEM SCIENCES||2022|
|Debugging Debug Information with Neural Networks||IEEE ACCESS||2022|
|Principled Composition of Function Variants for Dynamic Software Diversity and Program Protection||Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering||2022|
|Function Representations for Binary Similarity||IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING||2021|
|Who's Debugging the Debuggers? Exposing Debug Information Bugs in Optimized Binaries||ASPLOS 2021: Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems||2021|
|Rope: Covert Multi-process Malware Execution with Return-Oriented Programming||Computer Security – ESORICS 2021||2021|
|Constantine: Automatic Side-Channel Resistance Using Efficient Control and Data Flow Linearization||Proceedings of the ACM Conference on Computer and Communications Security||2021|
|Klink: Progress-Aware Scheduling for Streaming Data Systems||In Proceedings of the 2021 International Conference on Management of Data (SIGMOD/PODS '21)||2021|
|SMART MANUFACTURING IN THE SPACE INDUSTRY. A CYBER-PHYSICAL SYSTEM ARCHITECTURE AND ITS IMPLEMENTATION TO A MAIT PROCESS FOR MEGA CONSTELLATIONS OF SATELLITES||2021|
|AndroDFA: Android Malware Classification Based on Resource Consumption||INFORMATION||2020|
|MalFamAware: Automatic Family Identification and Malware Classification Through Online Clustering||INTERNATIONAL JOURNAL OF INFORMATION SECURITY||2020|
|Byzantine Generalized Lattice Agreement||Proceedings of the 2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS)||2020|
|Italian National Framework for Cybersecurity and Data Protection||Privacy Technologies and Policy. APF 2020||2020|
|Fuzzing Binaries for Memory Safety Errors with QASan||Proceedings - 2020 IEEE Secure Development, SecDev 2020||2020|
|Load-Aware Shedding in Stream Processing Systems||Transactions on Large-Scale Data- and Knowledge-Centered Systems||2020|
|Synchronous byzantine lattice agreement in O(log(f)) rounds||Proceedings - International Conference on Distributed Computing Systems||2020|
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, the we exploit to automatically identify relevant characteristics in binary code.
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.
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.
© Università degli Studi di Roma "La Sapienza" - Piazzale Aldo Moro 5, 00185 Roma