N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Safe Runtime Validation of Behavioral Adaptations.

Slides:



Advertisements
Similar presentations
Model-Based Testing with Smartesting Jean-Pierre Schoch Sogetis Second Testing Academy 29 April 2009.
Advertisements

Java Autonomic Agent Framework with Self-Testing Andrew Diniz da Costa Camila Nunes
SLA-Oriented Resource Provisioning for Cloud Computing
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
Using Real-time Awareness to Manage Performance of Java Clients on Mobile Robots Andrew McKenzie, Shameka Dawson, Quinton Alexander, and Dr. Monica Anderson.
Paraμ A Partial and Higher-Order Mutation Tool with Concurrency Operators Pratyusha Madiraju AdVanced Empirical Software Testing and Analysis (AVESTA)
Helper Threads via Virtual Multithreading on an experimental Itanium 2 processor platform. Perry H Wang et. Al.
A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.
DEVS-Based Simulation Web Services for Net-Centric T&E Saurabh Mittal, Ph.D. Jose L. Risco-Martin*, Ph.D. Bernard P. Zeigler, Ph.D. Arizona Center for.
N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP An Introduction to Test Support-as-a-Service.
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Tariq M. King STITC 2011 Co-located with.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
*An Integrated Self-Testing Framework for Autonomic Computing Systems
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Enabling Automated Integration Testing of.
N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Engineering Self-Testable Autonomic Software.
Dynamic Tainting for Deployed Java Programs Du Li Advisor: Witawas Srisa-an University of Nebraska-Lincoln 1.
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Enhancing the Web-Based Repository of Software.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Introduction to Software Testing
Software Testing & Strategies
AUTOMATIC CONCOLIC TEST GENERATION WITH VIRTUAL PROTOTYPES FOR POST-SILICON VALIDATION Reviewer: Shin-Yann Ho Instructor: Jie-Hong Jiang.
1 Self-configuring of multiple frameworks for NCB Sean Leslie Ricardo Tirado Graduate Students: Andrew Allen.
Copyright Critical Software S.A All Rights Reserved. VAL-COTS Validation of Real Time COTS Products Ricardo Barbosa, Henrique Madeira, Nuno.
Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University.
N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Autonomic Self-Testing Of the Cloud, In.
1 Autonomic Computing An Introduction Guenter Kickinger.
N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Integrating Testing into the CS1 Syllabus.
Model Driven Development reduces the problem-implementation gap by redefining the role of models and using platforms for translating and realizing the.
Control Over WirelessHART Network S. Han, X. Zhu, Al Mok University of Texas at Austin M. Nixon, T. Blevins, D. Chen Emerson Process Management.
German National Research Center for Information Technology Research Institute for Computer Architecture and Software Technology German National Research.
An Approach to Test Autonomic Containers Ronald Stevens (IEEE Computer Society & ACM Student Member) August 1, 2006 REU Sponsored by NSF.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Cluster Reliability Project ISIS Vanderbilt University.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
Automating service management Tiina Niklander Faculty of Science Department of Computer Science In AMICT 2008 Petrozavodsk, May 2008.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF.
1 Introduction to Software Engineering Lecture 1.
1 Self-configuring of the User-centric Communication Middleware for the Communication Virtual Machine Sean Leslie Ricardo Tirado.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.
Project Design Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University Bárbara Morales-Quiñones Department of.
Computer Science 1 Test Selection and Augmentation of Regression System Tests for Security Policy Evolution JeeHyun Hwang, Tao Xie, and collaborators at.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Operating Systems: Wrap-Up Questions answered in this lecture: What is an Operating System? Why are operating systems so interesting? What techniques can.
A Communication Virtual Machine Seminar of “Virtual Machines” course ALI MOGHADDAM University of Science and Technology Mazandaran, Babol
Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.
© Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.:
Virtualized Execution Realizing Network Infrastructures Enhancing Reliability Application Communities PI Meeting Arlington, VA July 10, 2007.
Improving the Reliability of Commodity Operating Systems Michael M. Swift, Brian N. Bershad, Henry M. Levy Presented by Ya-Yun Lo EECS 582 – W161.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVIII. Software Testing.
MadeCR: Correlation-based Malware Detection for Cognitive Radio
Self Healing and Dynamic Construction Framework:
Rean Griffith‡, Gail Kaiser‡ Presented by Rean Griffith
Collaborative Offloading for Distributed Mobile-Cloud Apps
Autonomic Request Scheduling Container
Hardware-less Testing for RAS Software
Mark McKelvin EE249 Embedded System Design December 03, 2002
Presentation transcript:

N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Safe Runtime Validation of Behavioral Adaptations in Autonomic Software Presenter: T ariq M. King ATC 2011 September 2-4, Banff, Alberta, Canada

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Outline  Motivation  Introduction  Testing Approach  Component Design  Prototype  Related Work  Conclusion 2

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Motivation  Self-* features in autonomic computing systems may incorporate dynamic software adaptation  System adds, removes, replaces its own components at runtime  Raises reliability concerns as new faults may be introduced due to dynamic adaptation  Most AC research neglects that self-test should be an integral part of these types of systems 3 A NEGLECTED SELF-* CHARACTERISTIC Self- Configure Self- Optimize Self- Heal Self- Protect Self- Test FAULTS? FAILURES?

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  To address this issue, we introduced the notion of Autonomic Self-Testing (King et. al 2007)  Idea: Investigate how Autonomic Managers (AMs) can be tailored for purpose of testing the system itself  Test Managers (TMs) Monitor, intercept and validate the adaptive changes requests of AMs Managed Resource Introduction 4 AUTONOMIC SELF-TESTING Monitor AnalyzePlan Execute Knowledge Effector Sensor Autonomic Manager Monitor AnalyzePlan Execute Knowledge Autonomic Manager Test Manager

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Initial work on AST concentrated on:  Defining validation strategies for TMs 1.Replication with Validation (RV) – tests changes using separate copies of managed resources 2.Safe Adaptation with Validation (SAV) – tests changes in-place, directly on managed resources  Developing prototypes to investigate the feasibility of the RV strategy  Lightweight, focused on localized validation Introduction 5 AUTONOMIC SELF-TESTING (CONT.)

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP In this research, we extend previous work on AST by overcoming two of its limitations. Major Contributions: 1.Addresses the need for system-wide validation in autonomic software through the description of an automated runtime integration testing approach 2.Investigates AST of a real-world application in which it is too expensive to maintain copies of managed resources for testing – Validates SAV Introduction 6 CONTRIBUTIONS

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP S ystem-Wide V alidation of B ehavioral A daptations Using S elf- T estable A utonomic C omponents (STACS) Overview of Testing Approach 7

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP State-Based Safety Model 8 1. Extends Zhang (2004) “Enabling Safe Component-Based Software Adaptation” in WADS ‘04

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP S elf- T estable A utonomic C omponent (T, A, R, I, K) Component Design 9 STAC DEFINITION

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Abstract MAPE  Generics Managers (T, A) 10  Multi-Threading  Safety Mechanisms

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Full Access to Source Code  Derive suspend, resume, save and restore state operations from AbstractResource class  Loose coupling of concrete objects to facilitate stub injection at runtime Limited Access to Source Code  Use wrapper class (carefully)  Research on improving COTS testability Resources (R) 11

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Test Interface (I T ) 12  Test Case Execution  Code Coverage Analysis  Performance

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Communication Virtual Machine (CVM) is a model-driven platform for realizing user- centric communication services  Collaboration: FIU & Miami Children’s Hospital  CVM separates the concerns of modeling, synthesis, coordination, and delivery of communication services into self-contained layers  Layer in which communication in communication takes place is called the Network Communication Broker (NCB). Prototype 13 COMMUNICATION VIRTUAL MACHINE

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Allen (2009) leverage AC and open-platform APIs for integrating communication services into NCB Prototype 14 COMMUNICATION VIRTUAL MACHINE CVM NCB LAYER OF

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Conducted two sets of experimental runs as part of the prototype evaluation:  Test Quality Experiments – compared the effectiveness of test sets in revealing faults and exercising the NCB program code  Performance Experiments – investigates ways to reduce the performance overhead of having a runtime testing process interleaved with the NCB  In both cases, a Mutation Analysis technique was used to simulate faulty change requests, induce self-testing, and produce the results Experiment Overview 15

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  39 mutants were generated for the prototype by planting artificial faults into the interfaces and/or implementations of Skype and Smack  15 created manually, 24 automatically generated  Test Support Tools: JUnit, Cobertura, MuJava, Eclipse TPTP  Experiments were performed on a windows-based, webcam-enabled Intel® Core 2 Duo 2.4GHz PCs with 2 GB RAM or greater Setup Environment 16

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Fault Detection  35 out of the 39 mutants were detected, producing a mutation score of 89.7% (Threat, CVM Dev/Test)  Code Coverage  Recorded 63% statement coverage and 57% branch coverage of the NCB implementation  100% method coverage of the communication service interfaces (SkypeAdapter, SmackAdapter) Results 17 TEST QUALITY

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Results (cont.) 18 PERFORMANCE SKYPE TWO-WAY TO SMACK THREE-WAY

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  System-wide SAV is feasible and beneficial for preventing runtime faults in the context of a real- world application  Testing adaptive changes in-place using TMs was challenging: high complexity, synchronization  Significant performance overhead, further research  Safety mechanisms (locks) were instrumental during development and runtime testing  Selecting and tailoring open-source testing tools presented unnecessary difficulties Lessons Learned 19

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Da Costa et al. (2010)  JAAF+T: Java Self-Adaptive Framework + Test  Modify MAPE structure to include a self-test activity  Stevens et al. (2007) and Ramirez et al. (2008)  Prototypes of Replication with Validation  Autonomic Container & Autonomic Job Scheduler  Zhang et al. (2009) and Zhao et al. (2005)  Runtime verification of self-* systems Related Work 20

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Presented a system-wide approach to runtime integration testing in autonomic software  Still many open research issues:  Dynamic test generation  Dynamic regression test scheduling  Runtime test case maintenance  Reducing overhead of runtime testing  Latest Direction: Cloud (CASCON 2011) Conclusion 21

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Acknowledgements 22  Dr. Masoud Milani, FIU  Dr. S. Masoud Sadjadi, FIU  Participants of the REU Summer 2006 and 2007 Programs on Autonomic Computing at FIU  Graduate students and research collaborators on CVM project This work has been supported in part by the NSF under grant IIS

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Thank You! 23 Questions? ¿Preguntas? 問題 Sawwal вопросы 質問 domande ερωτήσεις