1 Introduction Automatically generating a limited number of high-quality inputs to reveal bugs,crashes,and hangs becomes a central problem in software testing research[1].The two most extensively studied approaches to...1 Introduction Automatically generating a limited number of high-quality inputs to reveal bugs,crashes,and hangs becomes a central problem in software testing research[1].The two most extensively studied approaches to automated test input generation are fuzzing[2]and dynamic symbolic execution[3,4](DSE).Both fuzzing and DSE can effectively generate structural test inputs for non-trivial programs without human aids,and are extensively studied in existing literatures[3-5].However,they are also considerably different.To further understand in what sense they are similar or different,and to understand the strengths and limitations of both techniques,we raise the following two questions:(Q1)How do existing fuzzing and DSE techniques model the input space and manage the search procedure?展开更多
Exploring the interleaving space of a multithreaded program to efficiently detect concurrency bugs is important but also difficult because of the astronomically many thread schedules.This paper presents a novel framew...Exploring the interleaving space of a multithreaded program to efficiently detect concurrency bugs is important but also difficult because of the astronomically many thread schedules.This paper presents a novel framework to decompose a thread schedule generator that explores the interleaving space into the composition of a basic generator and its extension under the“small interleaving hypothesis”.Under this framework,we in-depth analyzed research work on interleaving space exploration,illustrated how to design an effective schedule generator,and shed light on future research opportunities.展开更多
As a continuation of the last two years' special section on software systems, this special section is another effort to encourage and promote research to address challenges from the perspective of software systems. T...As a continuation of the last two years' special section on software systems, this special section is another effort to encourage and promote research to address challenges from the perspective of software systems. The goal of this special section is to present state-of-the-art and high-quality original research in the area of software systems. Similar to the last two years' special section, this special section includes two major themes: data-driven software engineering and software testing and analysis.展开更多
基金supported in part by National Key R&D Program(#2017YFB1001801)the National Natural Science Foundation of China(Grant Nos.#61690204 and#61802165).
文摘1 Introduction Automatically generating a limited number of high-quality inputs to reveal bugs,crashes,and hangs becomes a central problem in software testing research[1].The two most extensively studied approaches to automated test input generation are fuzzing[2]and dynamic symbolic execution[3,4](DSE).Both fuzzing and DSE can effectively generate structural test inputs for non-trivial programs without human aids,and are extensively studied in existing literatures[3-5].However,they are also considerably different.To further understand in what sense they are similar or different,and to understand the strengths and limitations of both techniques,we raise the following two questions:(Q1)How do existing fuzzing and DSE techniques model the input space and manage the search procedure?
基金This work was supported in part by National Key R&D Program(2017YFB1001801)of Chinathe National Natural Science Foundation of China(Grant Nos.61932021,61690204,61802165).
文摘Exploring the interleaving space of a multithreaded program to efficiently detect concurrency bugs is important but also difficult because of the astronomically many thread schedules.This paper presents a novel framework to decompose a thread schedule generator that explores the interleaving space into the composition of a basic generator and its extension under the“small interleaving hypothesis”.Under this framework,we in-depth analyzed research work on interleaving space exploration,illustrated how to design an effective schedule generator,and shed light on future research opportunities.
文摘As a continuation of the last two years' special section on software systems, this special section is another effort to encourage and promote research to address challenges from the perspective of software systems. The goal of this special section is to present state-of-the-art and high-quality original research in the area of software systems. Similar to the last two years' special section, this special section includes two major themes: data-driven software engineering and software testing and analysis.