Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.

Slides:



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

Performance Testing - Kanwalpreet Singh.
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
*An Integrated Self-Testing Framework for Autonomic Computing Systems
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
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.
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.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Introduction to Systems Analysis and Design
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Software Self-Testing
Software Testing Prasad G.
Introduction to Software Testing
Chapter 1 The Systems Development Environment
Introduction to Computer Technology
Chapter 1 The Systems Development Environment
1 Prediction of Software Reliability Using Neural Network and Fuzzy Logic Professor David Rine Seminar Notes.
Jarhead Analysis and Detection of Malicious Java Applets Johannes Schlumberger, Christopher Kruegel, Giovanni Vigna University of California Annual Computer.
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
Reverse Engineering State Machines by Interactive Grammar Inference Neil Walkinshaw, Kirill Bogdanov, Mike Holcombe, Sarah Salahuddin.
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
1 Autonomic Computing An Introduction Guenter Kickinger.
Providing a Software Quality Framework for Testing of Mobile Applications Dominik Franke and Carsten Weise RWTH Achen University Embedded Software Laboratory.
Chapter 1 The Systems Development Environment
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
Michael Ernst, page 1 Collaborative Learning for Security and Repair in Application Communities Performers: MIT and Determina Michael Ernst MIT Computer.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
The Systems Development Methodologies. Objectives  Describe the information Systems Development Life Cycle (SDLC)  Explain prototyping  Explain Rapid.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Quality Assessment for CBSD: Techniques and A Generic Environment Presented by: Cai Xia Supervisor: Prof. Michael Lyu Markers: Prof. Ada Fu Prof. K.F.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 Introduction to Software Engineering Lecture 1.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Exploiting Code Search Engines to Improve Programmer Productivity and Quality Suresh Thummalapenta Advisor: Dr. Tao Xie Department of Computer Science.
Repurpose, Compose, Profit— Next Generation SOA Infrastructure William Cox Cox Software Architects LLC Copyright 2008.
© 2005 by Prentice Hall Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
1© Nokia Siemens Networks Presentation / Author / Date For internal use T Better Code Faster - Next Generation Java Continuous Integration Environment.
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.
Testing Inheritance & Polymorphism in OO Software using Formal Specification Presented by : Mahreen Aziz Ahmad (Center for Software Dependability, MAJU)
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Erik Jonsson School of Engineering and Computer Science The University of Texas at Dallas Cyber Security Research on Engineering Solutions Dr. Bhavani.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Tool Support for Testing
Chapter 1 The Systems Development Environment
Business System Development
Introduction to Software Testing
Autonomic Request Scheduling Container
UML Design for an Automated Registration System
Presentation transcript:

Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University Bárbara Morales-Quiñones Department of Computer Engineering University of Puerto Rico-Mayaguez 06/26/2007 REU Summer Program

2 Outline  Introduction  Testing Autonomic Systems  Motivation  Background  Safe Adaptation by Zhang et. al  Tool Classification & Criteria  Survey of Tools  Selection of Tools  Questions?

3 Introduction:  Autonomic Computing  Automated low level task/actions  Specify behavior as high level policies  Self-management features  Testing Autonomic Systems  Requires testing prior to initial deployment  Requires runtime testing, since structure and behavior can change at runtime  Pioneers of autonomic computing stated that validation is one of the grand challenges of autonomic computing. Testing Autonomic Systems (1)

4 Introduction:  Two approaches developed by King et al. [1]  Replication with Validation  Only feasible when managed resources can be replicated  Requires the system to create and/or maintain copies of the managed resource for validation purposes  Changes implemented and validated on copies  Safe Adaptation with Validation  Validates changes resulting from self-management as part of a safe adaptation process  It can be used when duplicating managed resources are too expensive, impractical, or impossible  Occurs directly on the managed resource, during execution. [1] Towards Self-Testing in Autonomic Computing Systems Testing Autonomic Systems (2)

5 Motivation  Survey represents preliminary work for Testing Autonomic Computing Systems During Safe Adaptation.  Motivation stems from the need to test autonomic computing systems at runtime (i.e., to avoid the high cost of system failures.)  Since the strategy is based on safe adaptation, investigation of tools can be useful for building dependable adaptive (and autonomic) systems.  Many new tools/plugins have emerged; integrated development platforms, open-source comm.

6 Background  Safe adaptation  Developed by Zhang et al. (WADS 2004)  Directed towards using a disciplined approach to building adaptive systems.  An adaptation is safe if and only if:  It does not violate the dependencies between components  It does not interrupt any critical communications that could result in erroneous conditions [2] Enabling Safe Dynamic Component-Based Software Adaptation Safe Adaptation by Zhang et al. (1)

7 Background Safe Adaptation by Zhang et al. (2) Source: J. Zhang, B. H. C. Cheng, Z. Yang, and P. K. McKinley. Enabling safe dynamic component-based software adaptation. In WADS, pages 194–211, 2004.

8 Tool Classification  Dependency Analysis Tools  Partially automate safe adaptation process.  Extract dependency relationships among and between components.  Metrics Tools  Allows to measure efficiency based on certain performance metrics (memory, response time). Aids validation of self-optimization features.  Complexity metrics – automatically generate costs of adaptation steps.  Unit Testing Tools  Support or enhance previous unit testing (REU 2006). [2] Enabling Safe Dynamic Component-Based Software Adaptation

9 Tool Selection Criteria (1)  Dependency Analysis  Exportable dependencies – we need a way to access the generated information, to later analyze it.  Graphical visualization – aids us in visualizing these dependencies  Dependency cycle detection – it is important to know these to accurately manage the impacts of changes

10 Tool Selection Criteria (2)  Performance Analysis  Load – mechanisms to check object’s memory usage.  Speed – mechanisms to evaluate response time of method calls.  Complexity – code complexity related metrics like cyclomatic complexity and coupling between objects

 Unit Testing Support  Java Unit Testing – support or enhance unit testing  Code Coverage – support dynamic analysis of code for unit test coverage.  Branch and line coverage Tool Selection Criteria (3)

12 Survey of Tools  JDepend  Eclipse plugin that exports generated design metrics.  Dependency Finder  Independent tool  Filters dependencies by packages, classes or features  Code Analysis Plugin  Information is presented through diagrams that help visualize the dependencies. Dependency Analysis Tools

13 Survey of Tools  Test and Performance Tools Platform ( TPTP)  Provides framework in which developer build test and performance tools that integrates with Eclipse  Finds problems faster and with less difficulty  Finds performance bottlenecks and other metrics easily  Addresses the entire test and performance cycle including test editing and execution, monitoring, profiling, among other capabilities. Performance Metrics Tools

14 Survey of Tools  JUnitPerf  JUnit test decorators that are used to measure efficiency of JUnit tests.  Timed tests – create a top level bound  Load tests – creates an artificial load  Cobertura  Provides XML coverage reports from the system level to an individual line of code.  Provides complexity metrics.  Provides a maxmemory attribute that helps to restrict the amount of memory used. Unit Test Support Tools

15 Tool Selection  Dependency Analysis  JDepend – exporting XML dependency report  CAP – Visualizing dependency graphs  Performance Analysis  TPTP – addresses the entire test and performance life cycle  Unit Testing  JUnitPerf – measure efficiency of JUnit tests  Cobertura – exporting XML coverage report

16 References  [1] Towards Self-Testing in Autonomic Computing Systems  [2] Enabling Safe Dynamic Component- Based Software Adaptation  [3] Survey of Tools to Supporting Testing Autonomic Computing Systems During Safe Adaptation

17 Questions? Questions, comments and queries.