Compiler-Assisted Test Acceleration on GPUs for Embedded Software
Embedded software is found everywhere from our highly visible mobile devices to the confines of our car in the form of smart sensors. Embedded software companies are under huge pressure to produce safe applications that limit risks, and testing is absolutely critical to alleviate concerns regarding safety and user privacy. This requires using large test suites throughout the development process, increasing time-to-market and ultimately hindering competitivity. Speeding up test execution is, therefore, of paramount importance for embedded software developers. This is traditionally achieved by running, in parallel, multiple tests on large-scale clusters of computers. However, this approach is costly in terms of infrastructure maintenance and energy consumed, and is at times inconvenient as developers have to wait for their tests to be scheduled on a shared resource. We propose to look at exploiting GPUs (Graphics Processing Units) for running embedded software testing. GPUs are readily available in most computers and offer tremendous amounts of parallelism, making them an ideal target for embedded software testing. In this paper, we demonstrate, for the first time, how test executions of embedded C programs can be automatically performed on a GPU, without involving the end user. We take a compiler-assisted approach which automatically compiles the C program into GPU kernels for parallel execution of the input tests. Using this technique, we achieve an average speedup of 16x when compared to CPU execution of input tests across nine programs from an industry standard embedded benchmark suite.
Mon 10 JulDisplayed time zone: Tijuana, Baja California change
10:30 - 12:10 | |||
10:30 25mTalk | One Test to Rule Them All Technical Papers Alex Groce Northern Arizona University, Josie Holmes Pennsylvania State University, USA, Kevin Kellar DOI | ||
10:55 25mTalk | Reinforcement Learning for Automatic Test Case Prioritization and Selection in Continuous Integration Technical Papers Helge Spieker Simula Research Laboratory, Norway, Arnaud Gotlieb Simula Research Laboratory, Norway, Dusica Marijan Simula, Morten Mossige University of Stavanger, Norway / ABB Robotics, Norway DOI | ||
11:20 25mTalk | PerfRanker: Prioritization of Performance Regression Tests for Collection-Intensive Software Technical Papers Shaikh Mostafa University of Texas at San Antonio, USA, Xiaoyin Wang University of Texas at San Antonio, USA, Tao Xie University of Illinois at Urbana-Champaign DOI | ||
11:45 25mTalk | Compiler-Assisted Test Acceleration on GPUs for Embedded Software Technical Papers Vanya Yaneva University of Edinburgh, UK, Ajitha Rajan University of Edinburgh, UK, Christophe Dubach University of Edinburgh DOI |