The Laboratory of Software Testing and Analysis (LTA) of the Department of Information Sciences of the University of Milan Bicocca has been founded by Mauro Pezzè in 2001.

Our research addresses various aspects of analysis, testing, and engineering of software systems. Recent projects include:

  • Testing and Analysis

    • Dynamic Analysis and automated debugging. Program executions convey important data of the behavior of a software system. Our research addresses how to automatically extract meaningful models from runtime data and exploits such models for verification testing, regression analysis, specification mining and automated debugging.
    • Testing object oriented and component based software. Object oriented and component-based paradigms lead modern software development. Our research covers dataflow testing of state-dependent interactions of object-oriented software, test case prioritization for regression testing of COTS components, and effective integration testing for component-based software.
  • Formal Methods

    • Symbolic execution and model checking. Automated verification of software is key for safety critical software. Our research exploits the combination of symbolic execution and model checking for analyzing C and Java programs. Applications include test case generation, revealing uncaught exceptions, and the formal proof of reachability properties of programs.
    • Graph transformation systems. Our research pursues integration of graph transformations and live sequence charts to support development of SOA based systems. Graph transformations specify how Web services affect data and live sequence charts represent the interactions between Web services; their combination allows for checking consistency of applications and automatically generating code.
  • Self-Healing

    • Software Self-healing. Faults can hide in applications after deployment. Our research regard the development of techniques of failure models to be used to predict and prevent failures at runtime.
    • Self-Healing service-oriented architectures. Integration of third party Web services is challenged by services that may evolve dynamically and autonomously. Our research studies how to embed test cases in service oriented applications and exploit dynamic testing to reveal and solve inconsistencies between Web services at runtime.
  • A detailed summary of our research activities is reported in these slides.