Show simple item record

dc.contributor.advisorRajan, Ajitha
dc.contributor.advisorO'Boyle, Michael
dc.contributor.advisorDubach, Christophe
dc.contributor.authorYaneva-Cormack, Vanya
dc.date.accessioned2021-11-05T13:41:21Z
dc.date.available2021-11-05T13:41:21Z
dc.date.issued2021-07-31
dc.identifier.urihttps://hdl.handle.net/1842/38217
dc.identifier.urihttp://dx.doi.org/10.7488/era/1483
dc.description.abstractToday, software is all around us, impacting our everyday lives in fundamental ways. Developing software whose behaviour is reliable, predictable and correct is therefore crucial. This has made software testing a critical part of the development process and has led to the emergence of rigorous testing practices and standards. Testing any non-trivial system, however, is time-consuming and takes up the bulk of development time. Modern software engineering practices involve the repeated execution of large test suites, as part of regular build, test and release cycles. A common approach to speeding up testing without sacrificing rigour is distributing test executions among computer clusters and cloud servers, but this can be complex and expensive due to the costs of testing infrastructure and energy consumption. This thesis presents a novel approach to accelerating test execution by parallelising it using Graphics Processing Units (GPUs) - powerful and low-cost hardware accelerators that are readily available in the majority of modern desktops. It demonstrates that GPUs can be used to dramatically reduce test execution time at a lower cost compared to other parallel approaches. To achieve this, it addresses significant challenges related to usability, performance and scope, and makes three separate contributions: First, a GPU testing framework, ParTeCL, is developed to automatically transform the system under test into GPU source code and launch test execution in parallel on the GPU threads. ParTeCL performs the entire testing process transparently without requiring any expert GPU programming and architecture knowledge. Second, two types of systems are used to evaluate the applicability and effectiveness of the approach - sequential C programs form the embedded systems domain and Finite State Machine (FSM) models. To enable testing them on the GPU, compiler-based transformations and FSM implementations are developed and included in ParTeCL. Finally, GPU performance is extensively analysed and optimised through a combination of standard and domain specific techniques. Evaluation on programs from the two domains demonstrates that the GPU outperforms a standard 16-core Central Processing Unit (CPU) by up to 4× (avg. 1.4×) for embedded systems and up to 9×(avg. 4.5×) for FSMs. The techniques developed in this thesis demonstrate the exciting possibilities of using specialised hardware architectures, such as GPUs, for the acceleration of software test execution. Through integration into the testing process, they could provide rapid feedback, reducing the amount of costly bug-fixing in later stages of development.en
dc.contributor.sponsorEngineering and Physical Sciences Research Council (EPSRC)en
dc.language.isoenen
dc.publisherThe University of Edinburghen
dc.relation.hasversionVanya Yaneva, Ajitha Rajan, and Christophe Dubach. ParTeCL: parallel testing using OpenCL. In Proceedings of the 26th ACM SIGSOFT International Sympo sium on Software Testing and Analysis, ISSTA 2017, pages 384–387, New York, NY, USA, 2017. ACM. doi:10.1145/3092703.3098227.en
dc.relation.hasversionVanya Yaneva, Ajitha Rajan, and Christophe Dubach. Compiler-assisted test acceleration on GPUs for embedded software. In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2017, pages 35–45, New York, NY, USA, 2017. ACM. doi:10.1145/3092703. 3092720.en
dc.relation.hasversionV. Yaneva, A. Kapoor, A. Rajan, and C. Dubach. Accelerated finite state machine test execution using GPUs. In 2018 25th Asia-Pacific Software Engineering Conference (APSEC), pages 109–118, 2018.en
dc.relation.hasversionV. Yaneva, A. Rajan, and C. Dubach. GPU acceleration of FSM test execution: Improving scale and performance. In Journal of Software Testing, Verification & Reliability, 2020.en
dc.relation.hasversionV. Yaneva. ParTeCL-CodeGen, 2020. https://github.com/wyaneva/ partecl-codegen (visited on 03/06/2020).en
dc.relation.hasversionV. Yaneva. ParTeCL-Runtime, 2020. https://github.com/wyaneva/ partecl-runtime (visited on 03/06/2020).en
dc.relation.hasversionV. Yaneva. clClibc, 2020. https://github.com/wyaneva/clclibc (visited on 04/06/2020)en
dc.subjectsoftware testingen
dc.subjecttest inputsen
dc.subjectGPUsen
dc.subjectparallel testingen
dc.subjectsequential C programsen
dc.subjectFSM modelsen
dc.subjectoptimisationen
dc.titleAccelerating software test execution using GPUsen
dc.typeThesis or Dissertationen
dc.type.qualificationlevelDoctoralen
dc.type.qualificationnamePhD Doctor of Philosophyen


Files in this item

This item appears in the following Collection(s)

Show simple item record