TY - GEN
T1 - Testing Autonomous Cars for Feature Interaction Failures using Many-Objective Search
AU - Abdessalem, Raja Ben
AU - Panichella, Annibale
AU - Nejati, Shiva
AU - Briand, Lionel C.
AU - Stifter, Thomas
PY - 2018
Y1 - 2018
N2 - Complex systems such as autonomous cars are typically built as a composition of features that are independent units of functionality. Features tend to interact and impact one another’s behavior in unknown ways. A challenge is to detect and manage feature interactions, in particular, those that violate system requirements, hence leading to failures. In this paper, we propose a technique to detect feature interaction failures by casting this problem into a search-based test generation problem. We define a set of hybrid test objectives (distance functions) that combine traditional coverage-based heuristics with new heuristics specifically aimed at revealing feature interaction failures. We develop a new search-based test generation algorithm, called FITEST, that is guided by our hybrid test objectives. FITEST extends recently proposed many-objective evolutionary algorithms to reduce the time required to compute fitness values. We evaluate our approach using two versions of an industrial self-driving system. Our results show that our hybrid test objectives are able to identify more than twice as many feature interaction failures as two baseline test objectives used in the software testing literature (i.e., coverage-based and failure-based test objectives). Further, the feedback from domain experts indicates that the detected feature interaction failures represent real faults in their systems that were not previously identified based on analysis of the system features and their requirements.
AB - Complex systems such as autonomous cars are typically built as a composition of features that are independent units of functionality. Features tend to interact and impact one another’s behavior in unknown ways. A challenge is to detect and manage feature interactions, in particular, those that violate system requirements, hence leading to failures. In this paper, we propose a technique to detect feature interaction failures by casting this problem into a search-based test generation problem. We define a set of hybrid test objectives (distance functions) that combine traditional coverage-based heuristics with new heuristics specifically aimed at revealing feature interaction failures. We develop a new search-based test generation algorithm, called FITEST, that is guided by our hybrid test objectives. FITEST extends recently proposed many-objective evolutionary algorithms to reduce the time required to compute fitness values. We evaluate our approach using two versions of an industrial self-driving system. Our results show that our hybrid test objectives are able to identify more than twice as many feature interaction failures as two baseline test objectives used in the software testing literature (i.e., coverage-based and failure-based test objectives). Further, the feedback from domain experts indicates that the detected feature interaction failures represent real faults in their systems that were not previously identified based on analysis of the system features and their requirements.
KW - Software testing and debugging
KW - Search-based software engineering
KW - Autonomous Cars
KW - Many-Objective Search
UR - http://resolver.tudelft.nl/uuid:38b81178-299d-4cd2-8f68-2a1aeab7af19
U2 - 10.1145/3238147.3238192
DO - 10.1145/3238147.3238192
M3 - Conference contribution
SP - 143
EP - 154
BT - Proceedings of the 33rd IEEE/ACM International Conference on Automated Software Engineering
PB - Association for Computing Machinery (ACM)
CY - New York, NY
T2 - ASE 2018
Y2 - 3 July 2018 through 7 July 2018
ER -