ABSTRACT
Self-adaptive systems (a.k.a. SASs) are useful but error-prone. This stems from the complexity of the interaction between a self-adaptive system and its running environment. Therefore, a testing approach of self-adaptive system has to consider the system's running environment. However, due to their poor controllability and observability, neither the real environment nor the environmental simulators could support SAS-testing effectively and efficiently. In this paper, we propose a novel approach AutoModel to generate environmental models for testing self-adaptive systems effectively. Our key insight is that a self-adaptive system's execution traces naturally encode the behavior of its running environment, especially for the logic of how the environment interacts with the system. Based on the collected execution traces, our AutoModel approach synthesizes an environmental model and learns the model's reaction logic. The derived environmental model is able to imitate the real environment's behavior in program-environment iteration. Our primitive evaluation on real-world self-adaptive systems validates the effectiveness of our AutoModel approach. The average predictive R-squared value of the generated environmental model's prediction results is 55.0%.
- W. Yang, C. Xu, Y. Liu, C. Cao, X. Ma, and J. Lu, "Verifying self-adaptive applications suffering uncertainty," in Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, ser. ASE'14, 2014, pp. 199--210.Google ScholarDigital Library
- H. Jiang, S. Elbaum, and C. Detweiler, "Reducing failure rates of robotic systems though inferred invariants monitoring," in Proceedings of the 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, ser. IROS'13, 2013, pp. 1899--1906.Google Scholar
- https://www.ald.softbankrobotics.com/en/cool-robots/nao.Google Scholar
- M. Sama, S. Elbaum, F. Raimondi, D. S. Rosenblum, and Z. Wang, "Context-aware adaptive applications: Fault patterns and their automated identification," in IEEE Transactions on Software Engineering, vol. 36, no. 5, pp. 644C661, Sep. 2010.Google ScholarDigital Library
- C. Xu, S. C. Cheung, X. Ma, C. Cao, and J. Lu, "Adam: Identifying defects in context-aware adaptation," in Jounral of Systems and Software, vol. 85, no. 12, pp. 2812C2828, 2012.Google Scholar
- https://www.tesla.com/.Google Scholar
- https://waymo.com/.Google Scholar
- California Department of Motor Vechiles, "Autonomous Vehicle Disengagement Reports 2016,".Google Scholar
- Y. Qin, C. Xu, P. Yu and J. Lu, "SIT: Sampling-based interactive testing for self-adaptive apps," in Journal of Systems and Software, vol. 120, 2016, pp. 70--99.Google ScholarDigital Library
- Z. He, Y. Chen, E. Huang, Q. Wang, Y. Pei and H. Yuan, "A system identification based rracle for control-CPS software fault localization," in Proceedings of the 41st International Conference on Software Engineering, ser. ICSE'19, 2019.Google Scholar
- Y. Qin, T. Xie, C. Xu, A. Astoga and J. Lu, "CoMID: context-based multi-invariant detection for monitoring cyber-physical software," in IEEE Transactions on Reliability, to be published, 2019.Google ScholarCross Ref
- A. J. Ramirez, A. C. Jensen, B. H. C. Cheng, and D. B. Knoester, "Automatically exploring how uncertainty impacts behavior of dynamically adaptive systems," in Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering, ser. ASE'11, 2011, pp. 568--571.Google Scholar
- Ester M, Kriegel H P, Sander J, et al, "Density-based spatial clustering of applications with noise," in Proceedings of International Conference on Knowledge Discovery and Data Mining, 1996, pp. 240--246.Google Scholar
Recommendations
Towards run-time adaptation of test cases for self-adaptive systems in the face of uncertainty
SEAMS 2014: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsSelf-adaptive systems (SAS) may be subjected to conditions for which they were not explicitly designed. For those high-assurance SAS applications that must deliver critical services, techniques are needed to ensure that only acceptable behavior is ...
ActivFORMS: active formal models for self-adaptation
SEAMS 2014: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsSelf-adaptation enables a software system to deal autonomously with uncertainties, such as dynamic operating conditions that are difficult to predict or changing goals. A common approach to realize self-adaptation is with a MAPE-K feedback loop that ...
Adaptive Knowledge Bases in Self-Adaptive System Design
SEAA '15: Proceedings of the 2015 41st Euromicro Conference on Software Engineering and Advanced ApplicationsSelf-adaptive systems allow for flexible solutions in changing environments. Usually, a fixed set of predefined rules is used to define the adaptation possibilities of a system. The main problem of such systems is to cope with environment behaviours ...
Comments