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.
|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.|
Efficient bounded exhaustive input generation from program APIs by Mariano Politano, Valeria Bengolea, Facundo Molina, Nazareno Aguirre, Marcelo Frias, and Pablo Ponzio. To appear in Fundamental Approaches to Software Engineering - 26th International Conference, FASE 2023, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023, Paris, France, April 22-27, 2023. [ code | https | .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, 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 ]
- Alessandra Gorla (IMDEA, Spain - current supervisor)
- Nazareno Aguirre (UNRC, Argentina - former PhD advisor)
- Renzo Degiovanni (SnT, Luxembourg)
- Marcelo d’Amorim (NCSU, USA)
- Pablo Ponzio (UNRC, Argentina)
- Juan Manuel Copia (IMDEA, Spain - collaborator)
- Agustín Nolasco (UNRC, Argentina): working on metamorphic testing.
- Claudio Dosantos (UNRC, Argentina): working on oracle effectiveness.
- SCAM 2023 Program Committee
- ISSTA 2023 Artifact Evaluation Committee
- SAS 2023 Artifact Evaluation Committee
- TORACLE 2021 Program Committee
I am very thankful to have received funding from CONICET and Microsoft Research to support my research.