Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3395363.3397386acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Automated repair of feature interaction failures in automated driving systems

Published: 18 July 2020 Publication History

Abstract

In the past years, several automated repair strategies have been proposed to fix bugs in individual software programs without any human intervention. There has been, however, little work on how automated repair techniques can resolve failures that arise at the system-level and are caused by undesired interactions among different system components or functions. Feature interaction failures are common in complex systems such as autonomous cars that are typically built as a composition of independent features (i.e., units of functionality). In this paper, we propose a repair technique to automatically resolve undesired feature interaction failures in automated driving systems (ADS) that lead to the violation of system safety requirements. Our repair strategy achieves its goal by (1) localizing faults spanning several lines of code, (2) simultaneously resolving multiple interaction failures caused by independent faults, (3) scaling repair strategies from the unit-level to the system-level, and (4) resolving failures based on their order of severity. We have evaluated our approach using two industrial ADS containing four features. Our results show that our repair strategy resolves the undesired interaction failures in these two systems in less than 16h and outperforms existing automated repair techniques.

References

[1]
2019. Matlab/Simulink. https://nl.mathworks.com/products/simulink.html.
[2]
2020. Appendix. https://bitbucket.org/anonymous83/faultrepair/src/master/. Also submitted along with the paper.
[3]
Thomas Ackling, Bradley Alexander, and Ian Grunert. 2011. Evolving Patches for Software Repair. In Proceedings of the Annual Conference on Genetic and Evolutionary Computation (GECCO'11) (Dublin, Ireland). ACM, New York, NY, USA, 1427-1434.
[4]
Rajeev Alur. 2015. Principles of Cyber-Physical Systems. MIT Press.
[5]
Andrea Arcuri. 2008. On the Automation of Fixing Software Bugs. In Companion of the International Conference on Software Engineering (ICSE Companion'08) (Leipzig, Germany). ACM, New York, NY, USA, 1003-1006.
[6]
Andrea Arcuri. 2011. Evolutionary Repair of Faulty Software. Applied Software Computing 11, 4 ( June 2011 ), 3494-3514.
[7]
Andrea Arcuri and Lionel Briand. 2014. A hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering. Software Testing, Verification and Reliability 24, 3 ( 2014 ), 219-250.
[8]
Andrea Arcuri and Xin Yao. 2008. A novel co-evolutionary approach to automatic software bug fixing. In Proceedings of the IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence (WCCI'08) ). IEEE, Hong Kong, 162-168.
[9]
Raja Ben Abdessalem, Annibale Panichella, Shiva Nejati, Lionel C. Briand, and Thomas Stifter. 2018. Testing Autonomous Cars for Feature Interaction Failures Using Many-objective Search. In Proceedings of the International Conference on Automated Software Engineering (ASE'18). ACM, Montpellier, France, 143-154.
[10]
J. Anthony Capon. 1991. Elementary Statistics for the Social Sciences: Study Guide. Wadsworth Publishing Company, Belmont, CA, USA.
[11]
Valentin Dallmeier, Andreas Zeller, and Bertrand Meyer. 2009. Generating Fixes from Object Behavior Anomalies. In Proceedings of the International Conference on Automated Software Engineering (ASE'09). IEEE, San Diego, CA, USA, 550-554.
[12]
Favio DeMarco, Jifeng Xuan, Daniel Le Berre, and Martin Monperrus. 2014. Automatic Repair of Buggy if Conditions and Missing Preconditions with SMT. In Proceedings of the International Workshop on Constraints in Software Testing, Verification, and Analysis (CSTVA'14) (Hyderabad, India). ACM, New York, NY, USA, 30-39.
[13]
Eric Foxlin. 2005. Pedestrian tracking with shoe-mounted inertial sensors. IEEE Computer graphics and applications 25, 6 ( 2005 ), 38-46.
[14]
Gordon Fraser and Andrea Arcuri. 2013. Whole test suite generation. IEEE Transactions on Software Engineering 39, 2 ( 2013 ), 276-291.
[15]
Luca Gazzola, Daniela Micucci, and Leonardo Mariani. 2017. Automatic software repair: A survey. IEEE Transactions on Software Engineering 45, 1 ( 2017 ), 34-67.
[16]
John H. Holland. 1992. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence. MIT Press, Cambridge, MA, USA.
[17]
Martin Jähne, Xiaodong Li, and Jürgen Branke. 2009. Evolutionary algorithms and multi-objectivization for the travelling salesman problem. In Proceedings of the Annual Conference on Genetic and Evolutionary Computation (GECCO'09). ACM, Montréal, Canada, 595-602.
[18]
Thomas Jansen. 2002. On the analysis of dynamic restart strategies for evolutionary algorithms. In International Conference on Parallel Problem Solving from Nature (PPSN'02), Vol. 2. Springer, Granada, Spain, 33-43.
[19]
Tao Ji, Liqian Chen, Xiaoguang Mao, and Xin Yi. 2016. Automated Program Repair by Using Similar Code Containing Fix Ingredients. In Proceedings of the Annual Computer Software and Applications Conference (COMPSAC'16), Vol. 1. IEEE, Atlanta, GA, USA, 197-202.
[20]
Wei Jin and Alessandro Orso. 2013. F3: fault localization for field failures. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA:13). ACM, Lugano, Switzerland, 213-223.
[21]
David Kelk, Kevin Jalbert, and Jeremy S. Bradbury. 2013. Automatically Repairing Concurrency Bugs with ARC. In Proceedings of the International Conference on Multicore Software Engineering, Performance, and Tools (MSEPT'13), João M. Lourenço and Eitan Farchi (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 73-84.
[22]
Dongsun Kim, Jaechang Nam, Jaewoo Song, and Sunghun Kim. 2013. Automatic patch generation learned from human-written patches. In Proceedings of the International Conference on Software Engineering (ICSE'13). IEEE, San Francisco, CA, USA, 802-811.
[23]
Joshua D Knowles, Richard A Watson, and David W Corne. 2001. Reducing local optima in single-objective problems by multi-objectivization. In Proceedings of the International Conference on Evolutionary Multi-Criterion Optimization (EMO'01). Springer, Zurich, Switzerland, 269-283.
[24]
Xianglong Kong, Lingming Zhang, W Eric Wong, and Bixin Li. 2015. Experience report: How do techniques, programs, and tests impact automated program repair?. In Proceedings of the International Symposium on Software Reliability Engineering (ISSRE'15). IEEE, Washington DC, USA, 194-204.
[25]
Ryotaro Kou, Yoshiki Higo, and Shinji Kusumoto. 2016. A Capable Crossover Technique on Automatic Program Repair. In Proceedings of the International Workshop on Empirical Software Engineering in Practice (IWESEP'16). IEEE, Osaka, Japan, 45-50.
[26]
John R Koza and John R Koza. 1992. Genetic programming: on the programming of computers by means of natural selection. Vol. 1. MIT press, Cambridge, MA, USA.
[27]
Claire Le Goues, Michael Dewey-Vogt, Stephanie Forrest, and Westley Weimer. 2012. A Systematic Study of Automated Program Repair: Fixing 55 out of 105 Bugs for $8 Each. In Proceedings of the International Conference on Software Engineering (ICSE '12) (Zurich, Switzerland). IEEE Press, Piscataway, NJ, USA, 3-13.
[28]
Claire Le Goues, ThanhVu Nguyen, Stephanie Forrest, and Westley Weimer. 2012. GenProg: A Generic Method for Automatic Software Repair. IEEE Transactions on Software Engineering (TSE) 38, 1 (Jan 2012 ), 54-72.
[29]
Yann LeCun, Yoshua Bengio, and Geofrey Hinton. 2015. Deep learning. Nature 521, 7553 ( 2015 ), 436.
[30]
Fan Long and Martin Rinard. 2015. Staged Program Repair with Condition Synthesis. In Proceedings of the Joint Meeting on Foundations of Software Engineering (ESEC/FSE'15) (Bergamo, Italy). ACM, New York, NY, USA, 166-178. https://doi.org/10.1145/2786805.2786811
[31]
Fan Long and Martin Rinard. 2016. Automatic Patch Generation by Learning Correct Code. In Proceedings of the Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'16) ( St. Petersburg, FL, USA). ACM, New York, NY, USA, 298-312. https://doi.org/10.1145/2837614.2837617
[32]
Sean Luke. 2013. Essentials of Metaheuristics (second ed.). Lulu, Fairfax, Virginie, USA.
[33]
Ankith Manjunath, Ying Liu, Bernardo Henriques, and Armin Engstle. 2018. Radar Based Object Detection and Tracking for Autonomous Driving. In Proceedings of the MTT-S International Conference on Microwaves for Intelligent Mobility (ICMIM'18). IEEE, Munich, Germany, 1-4.
[34]
Sergey Mechtaev, Jooyong Yi, and Abhik Roychoudhury. 2016. Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis. In Proceedings of the International Conference on Software Engineering (ICSE'16) (Austin, Texas). ACM, New York, NY, USA, 691-701.
[35]
Hoang Duong Thien Nguyen, Dawei Qi, Abhik Roychoudhury, and Satish Chandra. 2013. SemFix: Program Repair via Semantic Analysis. In Proceedings of the International Conference on Software Engineering (ICSE '13) (San Francisco, CA, USA). IEEE Press, Piscataway, NJ, USA, 772-781.
[36]
Spencer Pearson, José Campos, René Just, Gordon Fraser, Rui Abreu, Michael D. Ernst, Deric Pang, and Benjamin Keller. 2017. Evaluating and Improving Fault Localization. In Proceedings of the International Conference on Software Engineering (ICSE '17) ( Buenos Aires, Argentina). IEEE Press, Piscataway, NJ, USA, 609-620. https://doi.org/10.1109/ICSE. 2017.62
[37]
Yuhua Qi, Xiaoguang Mao, Yan Lei, Ziying Dai, and Chengsong Wang. 2014. The strength of random search on automated program repair. In Proceedings of the International Conference on Software Engineering (ICSE'14). ACM, New York, USA, 254-265.
[38]
Zichao Qi, Fan Long, Sara Achour, and Martin Rinard. 2015. An Analysis of Patch Plausibility and Correctness for Generate-and-validate Patch Generation Systems. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA'15) (Baltimore, MD, USA). ACM, New York, NY, USA, 24-36.
[39]
TASS-International. 2019. PreScan. https://www.tassinternational.com/prescan.
[40]
Richard van der Horst and Jeroen Hogema. 1993. Time-to-collision and collision avoidance systems. In Proceedings of the workshop of the International Cooperation on Theories and Concepts in Trafic Safety (ICTCT'93).-, Salzburg, Austria, 109-121.
[41]
András Vargha and Harold D. Delaney. 2000. A critique and improvement of the CL common language efect size statistics of McGraw and Wong. Journal of Educational and Behavioral Statistics 25, 2 ( 2000 ), 101-132.
[42]
Yi Wei, Yu Pei, Carlo A. Furia, Lucas S. Silva, Stefan Buchholz, Bertrand Meyer, and Andreas Zeller. 2010. Automated Fixing of Programs with Contracts. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA'10) (Trento, Italy). ACM, New York, NY, USA, 61-72. https://doi.org/10. 1145/1831708.1831716
[43]
Westley Weimer, Zachary P Fry, and Stephanie Forrest. 2013. Leveraging program equivalence for adaptive program repair: Models and first results. In Proceedings of the International Conference on Automated Software Engineering (ASE'13). IEEE, Silicon Valley, CA, USA, 356-366.
[44]
Westley Weimer, ThanhVu Nguyen, Claire Le Goues, and Stephanie Forrest. 2009. Automatically finding patches using genetic programming. In Proceedings of the International Conference on Software Engineering (ICSE'09). IEEE, Vancouver, Canada, 364-374.
[45]
Xiaoyuan Xie, Tsong Yueh Chen, Fei-Ching Kuo, and Baowen Xu. 2013. A Theoretical Analysis of the Risk Evaluation Formulas for Spectrum-based Fault Localization. ACM Transactions on Software Engineering and Methodology (TOSEM) 22, 4, Article 31 (Oct. 2013 ), 40 pages. https://doi.org/10.1145/2522920.2522924
[46]
Shin Yoo, Xiaoyuan Xie, Fei-Ching Kuo, Tsong Yueh Chen, and Mark Harman. 2017. Human Competitiveness of Genetic Programming in Spectrum-Based Fault Localisation: Theoretical and Empirical Analysis. ACM Transactions on Software Engineering and Methodology (TOSEM) 26, 1, Article 4 ( June 2017 ), 30 pages. https://doi.org/10.1145/3078840

Cited By

View all
  • (2024)How Does Simulation-Based Testing for Self-Driving Cars Match Human Perception?Proceedings of the ACM on Software Engineering10.1145/36437681:FSE(929-950)Online publication date: 12-Jul-2024
  • (2024)Search-Based Repair of DNN Controllers of AI-Enabled Cyber-Physical Systems Guided by System-Level SpecificationsProceedings of the Genetic and Evolutionary Computation Conference10.1145/3638529.3654078(1435-1444)Online publication date: 14-Jul-2024
  • (2024)MMO: Meta Multi-Objectivization for Software Configuration TuningIEEE Transactions on Software Engineering10.1109/TSE.2024.338891050:6(1478-1504)Online publication date: 15-Apr-2024
  • Show More Cited By

Index Terms

  1. Automated repair of feature interaction failures in automated driving systems

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      ISSTA 2020: Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis
      July 2020
      591 pages
      ISBN:9781450380089
      DOI:10.1145/3395363
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 18 July 2020

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Automated Driving Systems
      2. Automated Software Repair
      3. Feature Interaction Problem
      4. Search-based Software Testing

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      ISSTA '20
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 58 of 213 submissions, 27%

      Upcoming Conference

      ISSTA '25

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)47
      • Downloads (Last 6 weeks)3
      Reflects downloads up to 21 Sep 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)How Does Simulation-Based Testing for Self-Driving Cars Match Human Perception?Proceedings of the ACM on Software Engineering10.1145/36437681:FSE(929-950)Online publication date: 12-Jul-2024
      • (2024)Search-Based Repair of DNN Controllers of AI-Enabled Cyber-Physical Systems Guided by System-Level SpecificationsProceedings of the Genetic and Evolutionary Computation Conference10.1145/3638529.3654078(1435-1444)Online publication date: 14-Jul-2024
      • (2024)MMO: Meta Multi-Objectivization for Software Configuration TuningIEEE Transactions on Software Engineering10.1109/TSE.2024.338891050:6(1478-1504)Online publication date: 15-Apr-2024
      • (2023)Applying and Extending the Delta Debugging Algorithm for Elevator Dispatching Algorithms (Experience Paper)Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598117(1055-1067)Online publication date: 12-Jul-2023
      • (2023)Characterizing the Complexity and Its Impact on Testing in ML-Enabled Systems : A Case Sutdy on Rasa2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00034(258-270)Online publication date: 1-Oct-2023
      • (2023)Automated Misconfiguration Repair of Configurable Cyber-Physical Systems with Search: an Industrial Case Study on Elevator Dispatching Algorithms2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)10.1109/ICSE-SEIP58684.2023.00042(396-408)Online publication date: May-2023
      • (2023)Evolutionary Approach for Concurrency Testing of Ripple Blockchain Consensus Algorithm2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)10.1109/ICSE-SEIP58684.2023.00009(36-47)Online publication date: May-2023
      • (2023)Safety Testing of Automated Driving Systems: A Literature ReviewIEEE Access10.1109/ACCESS.2023.332791811(120049-120072)Online publication date: 2023
      • (2022)Detecting multi-sensor fusion errors in advanced driver-assistance systemsProceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3533767.3534223(493-505)Online publication date: 18-Jul-2022
      • (2022)Optimal priority assignment for real-time systems: a coevolution-based approachEmpirical Software Engineering10.1007/s10664-022-10170-127:6Online publication date: 6-Aug-2022
      • Show More Cited By

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media