Thèse de doctorat : Università della Svizzera italiana, 2020 ; 2020INFO017.
Complex multi-tier systems are composed of many distributed machines, feature multi-layer architecture and offer different types of services. Shared complex multi-tier systems, such as cloud systems, reduce costs and improves resource utilization efficiency, with a considerable amount of complexity and dynamics that challenge the reliability of the system. The new challenges of complex...
|
Thèse de doctorat : Università della Svizzera italiana, 2019 ; 2019INFO006.
Interactive applications, such as mobile or web apps, have become essential in our lives and verifying their correctness is now a key issue. Automatic system test case generation can dramatically improve the testing process for these applications and has recently motivated researchers to work on this problem defining a wide range of different approaches. However, most state-of-the-art...
|
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...
|
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...
|
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...
|
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...
|
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...
|
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...
|
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...
|
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...
|