Identification of Distributed Features in SOA Anis Yousefi, PhD Candidate Department of Computing and Software McMaster University July 30, 2010 1.

Slides:



Advertisements
Similar presentations
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Advertisements

1 VLDB 2006, Seoul Mapping a Moving Landscape by Mining Mountains of Logs Automated Generation of a Dependency Model for HUG’s Clinical System Mirko Steinle,
Defect Localization Using Dynamic Call Tree Mining and Matching Anis Yousefi, PhD Candidate Department of Computing and Software McMaster University May.
Concurrency: introduction1 ©Magee/Kramer 2 nd Edition Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
PRESENTATION 3 Sri Raguraman CIS 895 Kansas State University.
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
Chapter 12: Web Usage Mining - An introduction
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Automatically Extracting and Verifying Design Patterns in Java Code James Norris Ruchika Agrawal Computer Science Department Stanford University {jcn,
Michael Ernst, page 1 Improving Test Suites via Operational Abstraction Michael Ernst MIT Lab for Computer Science Joint.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Slide 12E.121 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
What is R By: Wase Siddiqui. Introduction R is a programming language which is used for statistical computing and graphics. “R is a language and environment.
Multi-Agent Model to Multi-Process Transformation A Housing Market Case Study Gerhard Zimmermann Informatik University of Kaiserslautern.
Concurrency: introduction1 ©Magee/Kramer Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
Bug Localization with Machine Learning Techniques Wujie Zheng
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
A performance evaluation approach openModeller: A Framework for species distribution Modelling.
Towards Low Overhead Provenance Tracking in Near Real-Time Stream Filtering Nithya N. Vijayakumar, Beth Plale DDE Lab, Indiana University {nvijayak,
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Design and Implementation.
Object Oriented Methods for Software Development The OO-Method Group Departamento de Sistemas Informáticos.
Chapter 12: Web Usage Mining - An introduction Chapter written by Bamshad Mobasher Many slides are from a tutorial given by B. Berendt, B. Mobasher, M.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Hassen Grati, Houari Sahraoui, Pierre Poulin DIRO, Université de Montréal Extracting Sequence Diagrams from Execution Traces using Interactive Visualization.
Software Production Chapter 2: Identifying Software Development Activities.
Most of contents are provided by the website Introduction TJTSD66: Advanced Topics in Social Media Dr.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008WODA.
Mining System-User Interaction Traces for Use Case Models Mohammed El-Ramly Eleni Stroulia Paul Sorenson (presented by Hsiao-Ming Tsou)‏
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Extracting Sequence.
High-level Interfaces for Scalable Data Mining Ruoming Jin Gagan Agrawal Department of Computer and Information Sciences Ohio State University.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
CS433 Modeling and Simulation Lecture 09 – Part 02 Discrete Events Simulation Dr. Anis Koubâa 27 Dec 2008 Al-Imam.
1Computer Sciences Department. 2 Advanced Design and Analysis Techniques TUTORIAL 7.
Identifying “Best Bet” Web Search Results by Mining Past User Behavior Author: Eugene Agichtein, Zijian Zheng (Microsoft Research) Source: KDD2006 Reporter:
HYBRID APPROACH TO INTERFACE ADAPTATION.  Computing power anywhere and everywhere  Need interfaces that can adapt to different device conditions and.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Reachability Testing of Concurrent Programs1 Reachability Testing of Concurrent Programs Richard Carver, GMU Yu Lei, UTA.
1 ROGUE Dynamic Optimization Framework Using Pin Vijay Janapa Reddi PhD. Candidate - Electrical And Computer Engineering University of Colorado at Boulder.
Toward product architecture oriented requirements analysis for product line development in systems engineering Kei Kurakawa Nara Institute of Science and.
Maikel Leemans Wil M.P. van der Aalst. Process Mining in Software Systems 2 System under Study (SUS) Functional perspective Focus: User requests Functional.
Profiling/Tracing Method and Tool Evaluation Strategy Summary Slides Hung-Hsun Su UPC Group, HCS lab 1/25/2005.
Implementation of Classifier Tool in Twister Magesh khanna Vadivelu Shivaraman Janakiraman.
Profiling: What is it? Notes and reflections on profiling and how it could be used in process mining.
Experience Report: System Log Analysis for Anomaly Detection
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
Parallel Patterns.
OPERATING SYSTEMS CS 3502 Fall 2017
Algorithms and Problem Solving
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Architecture Concept Documents
Green Software Engineering Prof
Liang Chen Advisor: Gagan Agrawal Computer Science & Engineering
ECET 370 HELPS Education Your Life-- ecet370helps.com.
Model-Driven Analysis Frameworks for Embedded Systems
Object-Oriented Analysis
“just-in-time” compilation (JIT) technique prepared by - Harshada Hole
Reference-Driven Performance Anomaly Identification
Unified Modeling Language
Design and Implementation
Identification of Variation Points Using Dynamic Analysis
Chapter 8, Design Patterns Introduction
Yining ZHAO Computer Network Information Center,
FREERIDE: A Framework for Rapid Implementation of Datamining Engines
FREERIDE: A Framework for Rapid Implementation of Datamining Engines
Presentation transcript:

Identification of Distributed Features in SOA Anis Yousefi, PhD Candidate Department of Computing and Software McMaster University July 30,

Feature Identification User Software Engineer List of classes Feature being used 2

Legacy Software Engineering! 3

Feature Identification Literature Identifying the source code constructs activated when exercising a feature – Feature: functionality offered by a system Techniques – Textual analysis – Static analysis – Dynamic analysis – Hybrid approaches 4

Trace-based Dynamic Analysis Instrumentation – TPTP Scenario execution Trace analysis – Pattern mining 5

Challenges Trace collection – Scattered implementation of features – Concurrency of events Feature location – Non-deterministic behavior of features 6

Summary What? – Identify the code associated with distributed features in SOA – Identify dynamic feature behavior How? – Trace-based dynamic analysis of services in SOA – Pattern mining to identify feature behavior Challenges? – Scattered implementation of features, concurrency of events, non- deterministic behavior of features 7

Steps of The Proposed Approach Run feature-oriented scenarios in SOA Collect and merge execution traces of services Mine traces to extract patterns Analyze the patterns to identify feature- specific code and behavior 8

The Proposed Framework 9

10 Step 1- Running Scenarios 10 ` ` ` ` ` `

11 m1m2 m3m4 … Step 2- Merging Distributed Traces Trace Structure 11 Enter m1, Timestamp: 0 Enter m2, Timestamp: 1 Leave m2, Timestamp: 3 Enter m3, Timestamp: 4 Enter m4, Timestamp: 5 Leave m4, Timestamp: 6 Leave m3, Timestamp: 7 …

Step 2- Merging (Contd.) Problems – Distributed data – Interweaved data Solution – Building “block execution tree” – Resolving uncertainties Before-after analysis Textual analysis Frequency analysis – Merging the traces 12

Step 3- Mining Frequent Patterns Traces represent “call graphs” Mining frequent sub-graphs Trace iTrace j m0m0 m1m1 m2m2 m3m3 m4m4 m5m5 m6m6 m7m7 m0 m1 m2 m3 m4 m5 m6 m7 m0 m6 m2 m3 m4 m5 m6 m7 m1 m0m0 m1m1 m2m2 m3m3 m4m4 m5m5 m6m6 m7m7 m6m6 XX YY Z W Patterns: m1, Y 13 m1, {i} m5, {i} m6, {i} m7, {i} X, {i} m4, {i} Y, {i} Z, {i} m1, {i,j} m5, {i,j} m6, {i,j} m7, {i,j} X, {i,j} m4, {i,j} Y, {i,j} Z{i} m6, {j} W,{j}

Step 4- Analyzing Patterns Distinguishing “feature-specific patterns” from “omnipresent patterns” and “noise patterns” Pattern 1Pattern 2Pattern 3Pattern 4 Trace 1**-* Trace 2**-- Trace 3*-*- 14

Metrics: Feature Distribution 15, SnSn 50% 100% 25% FD (f) = % = 41.7% f f: feature p: pattern FD(f,p): distribution of feature f over SOA with regard to pattern p S p : services contributing in pattern p M s : methods defined in services s M p : methods contributing in pattern p FD(f): distribution of feature f (all patterns) S f : services contributing in the execution of feature f M f : methods contributing in the execution of feature f P f : patterns for feature f, SmSm SkSk 15 mimi

Metrics: Call Frequency f 210 CF (f) = 12 f: feature p: pattern CF (f,p): call frequency of feature f with regard to pattern p S p : services contributing in pattern p OP s : interface operations defined in services s CF (f): call frequency of feature f (all patterns) P f : patterns for feature f OP i 16 mimi SnSn SmSm SkSk

Metrics: Accuracy Acc(f): accuracy of service regarding feature f P f : patterns for feature f C f : cases defined on the scenarios =1 works as we expected >1 considers additional cases <1 treats some cases equally 17

18 Future Work Abstract feature behavior – Normal vs. alternative behavior – Augment published service description Improve/Define metrics 18

Thank You! Anis Yousefi