I work at the IMDEA Software Institute as a Postdoctoral Researcher, under the supervision of Alessandra Gorla. My main research interests are in the area of Software Testing and Analysis, with the goal of improving software reliability and quality.

In April 2022, I received my Ph.D. at FAMAF, University of Córdoba (UNC), where I was advised by Professor Nazareno Aguirre. My research focused on the automated generation of test oracles, in the form of class invariants and postconditions. Particularly, my work involved the use of search-based and learning-based techniques with the goal of obtaining precise oracles. My dissertation is available in the UNC digital repository.

Projects

SpecFuzzer is a tool that automatically infers test oracles in the form of class specifications (postconditions, invariants). SpecFuzzer uses a fuzzer as a generator of candidate assertions derived from a grammar that is automatically obtained from the class definition; a dynamic invariant detector –Daikon– to filter out assertions invalidated by a test suite; and a mutation-based mechanism to cluster and rank assertions, so that similar constraints are grouped and then the stronger prioritized.
Software reliability analyses requires a specification of the intended behavior of the software under analysis. Unfortunately, software many times lacks such specifications, or only provides them for scenario-specific behaviors. This issue seriously diminishes the analyzability of software with respect to its reliability. EvoSpex is a tool that, given a Java method, uses an evolutionary algorithm to produce a specification of the method's current behavior, in the form of postcondition assertions.
As expressing class specifications, such as class invariants, can be a very challenging task, and they are often absent accompanying code, in the Training Binary Classifiers as Data Structures Invariants project we explore the use of artificial neural networks (binary classifiers) as class invariants of data structure implementations, i.e., we train these models to learn to distinguish valid/invalid instances of data structures. The obtained classifier can then be used in order to attempt to identify (in)correct behaviors in programs manipulating the class.

Publications

This is a list of my latest/most relevant publications. The full list can be found in my dblp or google scholar.

Improving Patch Correctness Analysis via Random Testing and Large Language Models by Facundo Molina, Juan Manuel Copia and Alessandra Gorla. To appear in 17th IEEE International Conference on Software Testing, Verification and Validation, ICST 2024, Toronto, Canada, May 27-31, 2024. [ code | .pdf ]

Enabling Efficient Assertion Inference by Aayush Garg, Renzo Degiovanni, Facundo Molina, Maxime Cordy, Nazareno Aguirre, Mike Papadakis, and Yves Le Traon. In 34th IEEE International Symposium on Software Reliability Engineering, ISSRE 2023, Florence, Italy, October 9-12, 2023. [ code | .pdf ]

Precise Lazy Initialization for Programs with Complex Heap Inputs by Juan Manuel Copia, Facundo Molina, Nazareno Aguirre, Marcelo Frias, Alessandra Gorla, and Pablo Ponzio. In 34th IEEE International Symposium on Software Reliability Engineering, ISSRE 2023, Florence, Italy, October 9-12, 2023. [ code | .pdf ]

Learning to Prune Infeasible Paths in Generalized Symbolic Execution by Facundo Molina, Pablo Ponzio, Nazareno Aguirre, and Marcelo F. Frias. In 33rd IEEE International Symposium on Software Reliability Engineering, ISSRE 2022, Charlotte, NC, USA, October 31-November 3, 2022. [ code | https | .pdf ]

Fuzzing Class Specifications by Facundo Molina, Marcelo d'Amorim, and Nazareno Aguirre. In 44th IEEE/ACM 44th International Conference on Software Engineering, ICSE 2022, Pittsburgh, PA, USA, May 25-27, 2022, pages 1008–1020. ACM, 2022. [ code | media | https | .pdf ]

EvoSpex: An Evolutionary Algorithm for Learning Postconditions by Facundo Molina, Pablo Ponzio, Nazareno Aguirre, and Marcelo F. Frias. In 43rd IEEE/ACM International Conference on Software Engineering, ICSE 2021, Madrid, Spain, 22-30 May 2021, pages 1223–1235. IEEE, 2021. [ code | media | https | .pdf ]

Training Binary Classifiers as Data Structure Invariants by Facundo Molina, Renzo Degiovanni, Pablo Ponzio, Germán Regis, Nazareno Aguirre, and Marcelo F. Frias. In Proceedings of the 41st International Conference on Software Engineering, ICSE 2019, Montreal, QC, Canada, May 25-31, 2019, pages 759–770. IEEE / ACM, 2019. [ code | https | .pdf ]

Research Team

Researchers

PhD students

Undergraduate Students

Service

Funding

I am very thankful to have received funding from CONICET and Microsoft Research to support my research.