Università della Svizzera italiana

Test generation for high coverage with abstraction refinement and coarsening (ARC)

Baluda, Mauro ; Pezzè, Mauro (Dir.) ; Denaro, Giovanni (Codir.)

Thèse de doctorat : Università della Svizzera italiana, 2014 ; 2014INFO018.

Testing is the main approach used in the software industry to expose failures. Producing thorough test suites is an expensive and error prone task that can greatly benefit from automation. Two challenging problems in test automation are generating test input and evaluating the adequacy of test suites: the first amounts to producing a set of test cases that accurately represent the software...

Università della Svizzera italiana

Exposing concurrency failures : a comprehensive survey of the state of the art and a novel approach to reproduce field failures

Bianchi, Francesco Adalberto ; Pezzè, Mauro (Dir.)

Thèse de doctorat : Università della Svizzera italiana, 2018 ; 2018INFO015.

With the rapid advance of multi-core and distributed architectures, concurrent systems are becoming more and more popular. Concurrent systems are extremely hard to develop and validate, as their overall behavior depends on the non-deterministic interleaving of the execution flows that comprise the system. Wrong and unexpected interleavings may lead to concurrency faults that are extremely...

Università della Svizzera italiana

Reusing constraint proofs in symbolic analysis

Chen, Meixian ; Pezzè, Mauro (Dir.)

Thèse de doctorat : Università della Svizzera italiana, 2018 ; 2018INFO007.

Symbolic analysis is an important element of program verification and automatic testing. Symbolic analysis techniques abstract program properties as expressions of symbolic input values to characterise the program logical constraints, and rely on Satisfiability Modulo Theories (SMT) solvers to both validate the satisfiability of the constraint expression and verify the corresponding program...

Università della Svizzera italiana

Kriging-based self-adaptive controllers for the cloud

Gambi, Alessio ; Pezzè, Mauro (Dir.)

Thèse de doctorat : Università della Svizzera italiana, 2012 ; 2012INFO008.

We propose Kriging-based self-adaptive controllers to manage the allocation of resources to computing systems that need to provide guarantees on their quality of service at runtime while minimizing running costs. Service providers need to adjust the configurations of their systems and the re- sources allocated to them to maintain an acceptable level of service at runtime despite fluctuations...

Università della Svizzera italiana

Automating test oracles generation

Goffi, Alberto ; Pezzè, Mauro (Dir.)

Thèse de doctorat : Università della Svizzera italiana, 2018 ; 2018INFO004.

Software systems play a more and more important role in our everyday life. Many relevant human activities nowadays involve the execution of a piece of software. Software has to be reliable to deliver the expected behavior, and assessing the quality of software is of primary importance to reduce the risk of runtime errors. Software testing is the most common quality assessing technique for...

Università della Svizzera italiana

Software redundancy : what, where, how

Mattavelli, Andrea ; Pezzè, Mauro (Dir.) ; Carzaniga, Antonio (Codir.)

Thèse de doctorat : Università della Svizzera italiana, 2016 ; 2016INFO007.

Software systems have become pervasive in everyday life and are the core component of many crucial activities. An inadequate level of reliability may determine the commercial failure of a software product. Still, despite the commitment and the rigorous verification processes employed by developers, software is deployed with faults. To increase the reliability of software systems, researchers...

Università della Svizzera italiana

Automatic test suite evolution

Mirzaaghaei, Mehdi ; Pezzè, Mauro (Dir.)

Thèse de doctorat : Università della Svizzera italiana, 2012 ; 2012INFO006.

Software testing is one of the most common approaches to verify software systems. Despite of many automated techniques proposed in the literature, test cases are often generated manually. When a software system evolves during development and maintenance to accommodate requirement changes, bug fixes, or functionality extensions, test cases may become obsolete, and software developers need to...

Università della Svizzera italiana

A self-healing framework for general software systems

Perino, Nicolò ; Pezzè, Mauro (Dir.)

Thèse de doctorat : Università della Svizzera italiana, 2014 ; 2014INFO005.

Modern systems must guarantee high reliability, availability, and efficiency. Their complexity, exacerbated by the dynamic integration with other systems, the use of third- party services and the various different environments where they run, challenges development practices, tools and testing techniques. Testing cannot identify and remove all possible faults, thus faulty conditions may escape...

Università della Svizzera italiana

Automatically generating complex test cases from simple ones

Rubinov, Konstantin ; Pezzè, Mauro (Dir.)

Thèse de doctorat : Università della Svizzera italiana, 2013 ; 2013INFO007.

While source code expresses and implements design considerations for software system, test cases capture and represent the domain knowledge of software developer, her assumptions on the implicit and explicit interaction protocols in the system, and the expected behavior of different modules of the system in normal and exceptional conditions. Moreover, test cases capture information about the...

Università della Svizzera italiana

Dynamic data flow testing

Vivanti, Mattia ; Pezzè, Mauro (Dir.)

Thèse de doctorat : Università della Svizzera italiana, 2016 ; 2016INFO001.

Data flow testing is a particular form of testing that identifies data flow relations as test objectives. Data flow testing has recently attracted new interest in the context of testing object oriented systems, since data flow information is well suited to capture relations among the object states, and can thus provide useful information for testing method interactions. Unfortunately, classic...