Arianna Blasi

Ph.D. Graduate @ USI

Arianna Blasi - PhD Student
I am a Ph.D. graduate in Informatics at Università della Svizzera italiana (Lugano, Switzerland) under the supervision of prof. Mauro Pezzè. My projects focused on the automatic generation of test oracles, derived from software-related artifacts expressed in natural language.

Before joining the PhD programme in 2018, I was a research intern at the IMDEA Software Institute (Madrid, Spain) working with Alessandra Gorla -- later my PhD co-advisor. During that period I obtained my M.Sc. from the University of Milano-Bicocca (Milan, Italy).

I defended my PhD thesis in April 2022 and joined Meta (London, UK) in May 2022
Publications
Scientific Journals
International Conferences
Workshops, Seminars, Talks
Projects
  • Jdoctor
    Jdoctor (originally known as Toradocu) is a tool that takes in input the Java source code of a class, extracts the Javadoc semi-structured comments at the method level, and translates @param, @return and @exception tags into executable specifications. Such specifications can act as test oracles and can be integrated with an automatic test case generator: Jdoctor is currently integrated with Randoop. Up to now, Jdoctor's precision and recall computed over 800 translations are respectively above 90% and 80%.
  • RepliComment
    RepliComment is a prototype born in 2018 that takes in input the Java source code of a whole project and searches for comment clones at the method and field level. RepliComment relies on some heuristics to understand whether a comment clone could be legitimate (e.g. overriding) or if there is an issue such as an unintentional mistake of copy-and-paste. RepliComment was extended in 2020: Now it automatically assesses the severity of the clones and provides fix suggestions for the copy-and-paste mistakes.
  • MeMo
    MeMo is a tool that takes in input the Java source code of a class and extracts method summaries (i.e., unstructured comments) to look for metamorphic relations. If found, a MR is translated into an executable assertion that can be automatically integrated into existing test suites. MeMo so far discovered over 250 MRs across different Java projects, which it can translate with good precision and recall. The translations, when used as assertions, prove to help both regression and developers-written assertions in bug detection.
  • CallMeMaybe
    CallMeMaybe uses natural language processing to analyze Javadoc comments to identify temporal properties. This information can guide a test case generator towards executing sequences of method calls that respect the temporal properties. CallMeMaybe is currently integrated with Randoop. Up to now, CallMeMaybe's precision and recall are respectively above 80% and 70%, and the translated constraints proved to improve thousands of Randoop's outputs.
Service
  • International Workshop on Natural Language-based Software Engineering (NLBSE 2022)
    Committee member
  • IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft 2022)
    NIER track committee member
  • ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2021)
    Artifact Evaluation committee member
  • International Workshop on Test Oracles (TORACLE 2021)
    Committee member
  • Journal of Software Testing, Verification and Reliability (STVR)
    Reviewer
  • ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2020)
    Additional reviewer
Teaching Assistance at USI
  • Programming Fundamentals 1 (Fall 20/21, Fall 21/22)
  • Bachelor Project (Spring 20/21, Fall 21/22)
  • Programmazione 1 (Fall 20/21)
  • Software Engineering (Fall 18/19, Fall 19/20)
  • Software Quality & Testing (Spring 18/19, Spring 19/20)