SUSHI: A Test Generator for Programs with Complex Structured Inputs. Pietro Braione, Giovanni Denaro, Andrea Mattavelli, and Mauro Pezzè. In Proceedings of the 40th International Conference on Software Engineering. ICSE ’18 Demo Track.
Chopped Symbolic Execution. David Trabish, Andrea Mattavelli, Noam Rinetzky, and Cristian Cadar. In Proceedings of the 40th International Conference on Software Engineering. ICSE ’18.
2017
Accelerating Array Constraints in Symbolic Execution. David M. Perry, Andrea Mattavelli, Xiangyu Zhang, and Cristian Cadar. In Proceedings of the 26th International Symposium on Software Testing and Analysis. ISSTA ’17.
Combining Symbolic Execution and Search-Based Testing for Programs with Complex Heap Inputs. Pietro Braione, Giovanni Denaro, Andrea Mattavelli, and Mauro Pezzè. In Proceedings of the 26th International Symposium on Software Testing and Analysis. ISSTA ’17.
Intrinsic Redundancy for Reliability and Beyond. Alberto Goffi, Alessandra Gorla, Andrea Mattavelli, and Mauro Pezzè. In Bertrand Meyer & Manuel Mazzara, eds. PAUSE: Present and Ulterior Software Engineering. Springer.
2016
Software Redundancy: What, Where, How. Andrea Mattavelli. PhD thesis. Università della Svizzera italiana (USI).
2015
Synthesis of Equivalent Method Calls in Guava. Andrea Mattavelli, Alberto Goffi, and Alessandra Gorla. In Proceedings of the 7th Symposium on Search-Based Software Engineering (Challenge Track). SSBSE ’15.
Measuring Software Redundancy. Antonio Carzaniga, Andrea Mattavelli, and Mauro Pezzè. In Proceedings of the 37th International Conference on Software Engineering. ICSE ’15.
Intrinsic Software Redundancy for Self-healing Software Systems and Automated Oracle generation. Antonio Carzaniga, Alberto Goffi, Alessandra Gorla, Andrea Mattavelli, Nicolò Perino, Mauro Pezzè, and Paolo Tonella. In Software Engineering & Management 2015. GI.
2014
Search-Based Synthesis of Equivalent Method Sequences. Alberto Goffi, Alessandra Gorla, Andrea Mattavelli, Mauro Pezzè, and Paolo Tonella. In Proceedings of the 22nd International Symposium on the Foundations of Software Engineering. FSE ’14.
Cross-checking Oracles from Intrinsic Software Redundancy. Antonio Carzaniga, Alessandra Gorla, Alberto Goffi, Andrea Mattavelli, and Mauro Pezzè. In Proceedings of the 36th International Conference on Software Engineering. ICSE ’14.
Understanding the Redundancy of Software Systems. Andrea Mattavelli. In Proceedings of the 36th International Conference on Software Engineering (Doctoral Symposium). ICSE ’14.
Software Testing with Code-based Test Generators: Data and Lessons Learned from a Case Study with an Industrial Software Component. Pietro Braione, Giovanni Denaro, Andrea Mattavelli, Mattia Vivanti, and Ali Muhammad. Software Quality Journal 22, 2 (2014).
2013
Automatic Recovery from Runtime Failures. Antonio Carzaniga, Alessandra Gorla, Andrea Mattavelli, Mauro Pezzè, and Nicolò Perino. In Proceedings of the 35th International Conference on Software Engineering. ICSE ’13.
2012
A Self-Healing Technique for Java Applications. Antonio Carzaniga, Alessandra Gorla, Andrea Mattavelli, and Nicolò Perino. In Proceedings of the 34th International Conference on Software Engineering (Poster). ICSE ’12.
An Industrial Case Study of the Effectiveness of Test Generators. Pietro Braione, Giovanni Denaro, Andrea Mattavelli, Mattia Vivanti, and Ali Muhammad. In Proceedings of the 7th International Workshop on Automation of Software Test. AST ’12.
Software
ARMOR ARMOR is a tool that implements automatic runtime recovering for Java.
Cross-Checking Oracles Cross-Checking Oracles is a technique to generate and execute test oracles that exploits the intrinsic redundancy of the program under test.
KLEE KLEE is a symbolic virtual machine built on top of the LLVM compiler infrastructure that targets the generation of test cases for high code coverage. We also developed KLEE-Array, a version of KLEE augmented with a set of semantic-preserving transformations that take advantage of contextual information to speedup array operations.
SBES SBES is a program synthesis tool that leverages search-based algorithm to automatically generate object-oriented Java code.
SUSHI SUSHI is a test case generator that combines symbolic execution and search-based techniques to achieve high branch coverage.
Talks
2017
Exploiting Intrinsic Redundancy to Automatically Generate Test Oracles Invited talk @ Multicore Group - Imperial College London, UK
Constraint Solving in DSE: the Good, the Bad, and the Ugly Invited talk @ INVEST Workshop 2017, UK
2016
Software Redundancy: What, Where, How Thesis dissertation @ Università della Svizzera italiana, Switzerland
2015
Synthesis of Equivalent Method Calls in Guava Challenge track @ SSBSE 2015
Exploiting Intrinsic Redundancy to Automatically Generate Test Oracles Invited talk with Alberto Goffi @ IMDEA Software Institute Madrid, Spain
Measuring Software Redundancy Technical research track @ ICSE 2015
How to Measure Software Redundancy Invited talk @ ABB Research Ladenburg, Germany
Intrinsic Software Redundancy for Self-healing Software Systems and Automated Oracle Generation Invited talk @ Multikonferenz Software Engineering and Management 2015, Germany
2014
Search-based Synthesis of Equivalent Method Sequences Technical research track @ FSE 2014
Understanding the Redundancy of Software Systems Doctoral symposium @ ICSE 2014
2013
Using the Intrinsic Redundancy of Software Invited talk @ Imperial College London, UK
Research Service
Committee Member
SBST ‘17 Program Committee 10th International Workshop on Search-Based Software Testing
ISSTA ‘17 Artifact Evaluation Committee ACM SIGSOFT International Symposium on Software Testing and Analysis
ISSTA ‘16 Artifact Evaluation Committee ACM SIGSOFT International Symposium on Software Testing and Analysis
FSE ‘14 Artifact Evaluation Committee 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering
Reviewer
ACM Transactions on Software Engineering and Methodology (TOSEM)