{"title":"Testing Concurrent Software Systems","authors":"F. A. Bianchi","doi":"10.1109/ICST.2016.45","DOIUrl":null,"url":null,"abstract":"Many modern software systems are intrinsically concurrent, consisting of multiple execution flows that progress simultaneously. Concurrency introduces new challenges to the testing process, since some faults can manifest only under specific interleavings of the execution flows. Thus, testing concurrent systems requires not only to explore the space of possible inputs, but also the space of possible interleavings, which can be intractable also for small programs. Most of the research on testing concurrent systems has focused exclusively on selecting interleavings that expose potentially dangerous patterns, such as data races and atomicity violations. However, by ignoring the high-level semantics of the system, these patterns may miss relevant faults and generate many false positive alarms. In this PhD work we aim to define a novel testing technique that (i) offers a holistic approach to select both test inputs and interleavings, and (ii) exploits high-level semantic information on the program to guide the selection and to improve the accuracy of the state-of-the-art techniques.","PeriodicalId":155554,"journal":{"name":"2016 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"57 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 IEEE International Conference on Software Testing, Verification and Validation (ICST)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICST.2016.45","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Many modern software systems are intrinsically concurrent, consisting of multiple execution flows that progress simultaneously. Concurrency introduces new challenges to the testing process, since some faults can manifest only under specific interleavings of the execution flows. Thus, testing concurrent systems requires not only to explore the space of possible inputs, but also the space of possible interleavings, which can be intractable also for small programs. Most of the research on testing concurrent systems has focused exclusively on selecting interleavings that expose potentially dangerous patterns, such as data races and atomicity violations. However, by ignoring the high-level semantics of the system, these patterns may miss relevant faults and generate many false positive alarms. In this PhD work we aim to define a novel testing technique that (i) offers a holistic approach to select both test inputs and interleavings, and (ii) exploits high-level semantic information on the program to guide the selection and to improve the accuracy of the state-of-the-art techniques.