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.

Slides:



Advertisements
Similar presentations
Java Autonomic Agent Framework with Self-Testing Andrew Diniz da Costa Camila Nunes
Advertisements

Testing Workflow Purpose
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Paraμ A Partial and Higher-Order Mutation Tool with Concurrency Operators Pratyusha Madiraju AdVanced Empirical Software Testing and Analysis (AVESTA)
1 Software & Grid Middleware for Tier 2 Centers Rob Gardner Indiana University DOE/NSF Review of U.S. ATLAS and CMS Computing Projects Brookhaven National.
A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.
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.
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.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Slide 1 Written by Dr Caspar Ryan, Project Leader ATcrc project 1.2 What is MobJeX? Next Generation Java Application Framework providing transparent component.
*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.
1 Communication Virtual Machine Feature Analysis & Policy Definitions Paola Boettner Mansi Gupta Andrew Allen & Yali Wu.
Dynamic Tainting for Deployed Java Programs Du Li Advisor: Witawas Srisa-an University of Nebraska-Lincoln 1.
Introduction to the new mainframe: Large-Scale Commercial Computing © Copyright IBM Corp., All rights reserved. Chapter 8: Autonomic computing.
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.
Experience with K42, an open- source, Linux-compatible, scalable operation-system kernel IBM SYSTEM JOURNAL, VOL 44 NO 2, 2005 J. Appovoo 、 M. Auslander.
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.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
1 Self-configuring of multiple frameworks for NCB Sean Leslie Ricardo Tirado Graduate Students: Andrew Allen.
JAAF+T: A Framework to Implement Self- Adaptive Agents that Apply Self-Test Andrew Diniz da Costa
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.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
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.
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
An Approach to Test Autonomic Containers Ronald Stevens (IEEE Computer Society & ACM Student Member) August 1, 2006 REU Sponsored by NSF.
CPIS 357 Software Quality & Testing
Univ. Notre Dame, September 25, 2003 Support for Run-Time Adaptation in RAPIDware Philip K. McKinley Software Engineering and Networking Systems Laboratory.
A Lightweight Platform for Integration of Resource Limited Devices into Pervasive Grids Stavros Isaiadis and Vladimir Getov University of Westminster
Cluster Reliability Project ISIS Vanderbilt University.
Automating service management Tiina Niklander Faculty of Science Department of Computer Science In AMICT 2008 Petrozavodsk, May 2008.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab ~xenoops/CORRELATE.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Testing Workflow In the Unified Process and Agile/Scrum processes.
The Grid System Design Liu Xiangrui Beijing Institute of Technology.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF.
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.
The Role of Experience in Software Testing Practice Zahra Molaei Soheil Hedayatitezengi Comp 587 Prof. Lingard 1 of 21.
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
ANKITHA CHOWDARY GARAPATI
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.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Self-Organizing Architectures SOAR 2010 International Conference on Autonomic Computing and Communication, ICAC Washington DC, USA June 7, 2010.
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.
RV-ECU: Certifiable Runtime Verification for Automobiles Grigore Rosu
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.
MadeCR: Correlation-based Malware Detection for Cognitive Radio
Self Healing and Dynamic Construction Framework:
Collaborative Offloading for Distributed Mobile-Cloud Apps
Module 01 ETICS Overview ETICS Online Tutorials
Autonomic Request Scheduling Container
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 Engineering Self-Testable Autonomic Software Presenter: T ariq M. King EASe 2011 April 27-29, Las Vegas, NV, USA A COMPARATIVE CASE STUDY

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Outline  Motivation  Background  Applications  Experiments  Lessons Learned  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 runtime  Raises reliability concerns as new faults may be introduced due to dynamic adaptation  Most 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  King (2009) describes an approach that seeks to seamlessly integrate runtime testing into the workflow of Autonomic Managers (AMs)  Idea: Instantiate new AMs that are tailored for testing activities  Test Managers (TMs) monitor, intercept & validate the change requests generated by AMs to realize AST Managed Resource Background 4 AUTONOMIC SELF-TESTING (AST) 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  Under AST, test managers can operate according to two different validation strategies:  Replication with Validation (RV) – tests changes using separate copies of managed resources  Safe Adaptation with Validation (SAV) – tests changes in-place, directly on managed resources  Supported by an OO framework for implementing prototypes of self-testable autonomic software  Java, Reflection, Threads, XML-Based Policies  Interfaces with Automated Software Testing Tools Background 5 AST STRATEGIES & TOOL SUPPORT

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  During preliminary investigations, we sought to locate freely available autonomic software that could be used to demonstrate our ideas on AST  When no such applications could be found, focus shifted to development through our own avenues:  REU on Autonomic Computing  CVM Research Project Applications 6 PRELUDE

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Stevens (2007) developed a self-configuring data structure to demonstrate ideas on AST Applications 7 AUTONOMIC CONTAINER ACT Lightweight Structural Adaptations RV Strategy

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Applications 8 AUTONOMIC JOB SCHEDULER

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Applications 9 AUTONOMIC JOB SCHEDULER Structural & Behavioral Adaptations AJS Lightweight (More Complex than ACT) RV Strategy

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  CVM is a model-driven platform for realizing communication services  Collaboration: FIU & Miami Children’s Hospital  Separates concerns of modeling, synthesis, coordination, and delivery of user communication  Users specify their communication requirements, which are represented as schemas  Schemas are then transformed into executable control scripts, which are used to configure the underlying network devices and protocols Applications 10 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 CVM Applications 11 COMMUNICATION VIRTUAL MACHINE CVM Real-World Behavioral Adaptations SAV Strategy NCB LAYER

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Conducted three sets of experiments as part of the case study:  Development Experiments – compared the relative effort required to build the autonomic and self-test infrastructures, and various prototypes  Performance Experiments – compared the runtime performance of different versions and variants of the prototypes  Test Quality Experiments – compared the effectiveness of test sets in revealing faults and exercising the program code of the prototypes Experiments 12 OVERVIEW

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Experiments were performed on windows-based Intel® Core 2 Duo 2.4GHz PCs with 2–4 GB RAM  Several tools were used to support automatically collecting results:  Eclipse Metrics – source code size and other complexity metrics for development experiments  Eclipse TPTP – thread and memory analysis for performance experiments  JUnit, Cobertura, MuJava – test failures, code coverage, and mutation analysis for test experiments Experiments 13 SETUP ENVIRONMENT

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Experiments 14 DEVELOPMENT COMPARISON OF AUTONOMIC & TEST INFRASTRUCTURES

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Experiments 15 DEVELOPMENT (CONT.) COMPARISON OF PROTOTYPE DEVELOPMENT

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Non-Self-Test vs. High Transparency Self-Test  Used Java RMI to develop a self-test version of AJS with a distributed RV self-testing process  Performed identical sets of user actions on both systems and compared memory and thread usage  Results: Less than 1% difference  Naive vs. “Enhanced” Interleaving Self-Test  Introduced timeout into TM threads of CVM  Purpose: Seek to achieve better interleaving in favor of core system over self-test during SAV self-testing Experiments 16 PERFORMANCE

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Experiments 17 PERFORMANCE (CONT.) SKYPE TWO-WAY TO SMACK THREE-WAY COMPARISON OF SELF-TEST VARIANTS CVM

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Experiments 18 TEST QUALITY MUTATION SETUP

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Experiments 19 TEST QUALITY (CONT.) MUTATION RESULTS CODE COVERAGE RESULTS

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  RV can be used to provide a transparent self- testing process, while SAV requires optimizations.  Using TMs as a test harness was convenient but problematic: Complexity, Synchronization  Safety mechanisms (locks) were instrumental  Selecting and tailoring open-source testing tools presented unnecessary difficulties  Benefits: Prevention of Runtime Faults Testing Aligned with Development Lessons Learned 20

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  “Testing and assurance are probably the least focused phases in engineering self-adaptive software…” – Salehie (2009), ACM Trans…  King et al. (2007), and Zhang et al. (2007)  Da Costa et al. (2010)  JAAF+T: Java Self-Adaptive Framework + Test  Modify MAPE structure to include a self-test activity  Munoz & Baudry (2009)  Artificial Table Testing of Adaptive Software Related Work 21

© NDSU S OFTWARE T ESTING R ESEARCH G ROUP  Presented a case study on the engineering of autonomic software with self-testing features  Reached a level of “enablement”, still many open research issues:  Dynamic regression test case selection and scheduling based on runtime testing goals  Runtime test case maintenance  Reducing overhead of runtime testing  Current Directions: Cloud, Virtualized RV. Conclusion 22

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

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