Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008WODA.

Slides:



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

System Development Life Cycle (SDLC)
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,
Identification of Distributed Features in SOA Anis Yousefi, PhD Candidate Department of Computing and Software McMaster University July 30,
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Identifying Source.
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Model Checker In-The-Loop Flavio Lerda, Edmund M. Clarke Computer Science Department Jim Kapinski, Bruce H. Krogh Electrical & Computer Engineering MURI.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
6-1 Chapter Goals Determine whether a problem is suitable for a computer solution Describe the computer problem-solving process and relate it to Polya’s.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Extraction of.
Web Applications Development Using Coldbox Platform Eddie Johnston.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Extracting Code.
Software Testing and Quality Assurance
Programming System development life cycle Life cycle of a program
1 Program Comprehension through Dynamic Analysis Visualization, evaluation, and a survey Bas Cornelissen (et al.) Delft University of Technology IPA Herfstdagen,
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Systems Analysis and Design
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Measuring Copying.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Impact Analysis of Database Schema Changes Andy Maule, Wolfgang Emmerich and David S. Rosenblum London Software Systems Dept. of Computer Science, University.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Lecture Outline 11 The Development of Information Systems Chapter 8 page 390+
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Debugging Support.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University ICSE 2003 Java.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University What Kinds of.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Refactoring.
ITEC224 Database Programming
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University DCCFinder: A Very- Large Scale Code Clone Analysis.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University What Do Practitioners.
PROJECT SECME1 Carthik A. Sharma Juan Carlos Vivanco Majid Ali Khan Santhosh Kumar Grandai Software Engineering Fall 2002.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
WebVizOr: A Fault Detection Visualization Tool for Web Applications Goal: Illustrate and evaluate the uses of WebVizOr, a new tool to aid web application.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Design and Implementation.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Applying Clone.
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 1 Evaluation of a Business Application Framework Using Complexity.
Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System Abdelwahab Hamou-Lhadj Timothy Lethbridge.
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Technology and Science, Osaka University Dependence-Cache.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Retrieving Similar Code Fragments based on Identifier.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Copyright © 2015 NTT DATA Corporation Kazuo Kobori, NTT DATA Corporation Makoto Matsushita, Osaka University Katsuro Inoue, Osaka University SANER2015.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Cage: A Keyword.
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University A Slicing Method for Object-Oriented Programs Using Lightweight.
CISC Machine Learning for Solving Systems Problems Presented by: Suman Chander B Dept of Computer & Information Sciences University of Delaware Automatic.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Classification.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Extraction of.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Extracting Sequence.
Using Bayesian Networks to Predict Plankton Production from Satellite Data By: Rob Curtis, Richard Fenn, Damon Oberholster Supervisors: Anet Potgieter,
Instance Discovery and Schema Matching With Applications to Biological Deep Web Data Integration Tantan Liu, Fan Wang, Gagan Agrawal {liut, wangfa,
A web based tool for estimation of Gage R&R and Measurement Uncertainty Siva Venkatachalam & Dr. Jay Raja Center for Precision Metrology The University.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Software Ingredients:
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
Architecture Concept Documents
Simulating Processes Motivation
Lecture 2 of Computer Science II
M. Kezunovic (P.I.) S. S. Luo D. Ristanovic Texas A&M University
PADLA: A Dynamic Log Level Adapter Using Online Phase Detection
Near-Omniscient Debugging for Java Using Size-Limited Execution Trace
Presentation transcript:

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008WODA Feature-level Phase Detection for Execution Trace Using Object Cache Yui Watanabe, Takashi Ishio, Katsuro Inoue Osaka University, Japan

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Contents  Automatic phase detection for execution traces of object-oriented programs 1.Background  Visualizing program behavior 2.Algorithm  An automatic phase detection technique 3.Case study and Result  analyzing several use-case scenarios on two industrial systems 4.Summary and future works

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Visualizing Program Behavior  Object Oriented Programs are difficult to maintain because of dynamic binding  Visualization of program behavior is useful for developers to understand and debug OO-programs  Many tools are proposed to visualize dynamic behavior  e.g. : AMIDA  A tool to visualize a Java execution trace as a sequence diagram

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Technical issue  How to handle a huge amount of events included in an execution trace?  Approaches to reduce the size of an execution trace 1.Filtering utility and library methods 2.Visualizing an overview of an execution trace 3.A query based interface to select interesting events  To understand an overview of an execution trace  To investigate the detail of interesting features  Dividing an execution trace into small Phases corresponding to features  Developers can visualize only interesting features.

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Definition of “Phase”  A Phase in a execution trace  A consecutive sequence of run- time events in an execution trace  An execution trace = a sequence of phases  Feature-level phase  Corresponding to an execution of a feature in the system  Minor phase  Corresponding to one of the tasks to achieve a feature  A trace comprises several feature-level phases.  A feature-level phases comprises several minor phases. Feature-level phaseMinor phase (18) 1. Login Show login form Login Get pre-user settings Show entrance page 2. Listing items in DB Get management information Get pre-user items Get list of items Show list of items 3. Show the detail of an item Get an item ID Get a detail of the item Show the item information 4. Updating the item information Get an item ID Update the item information Get a detail of the item Show the item information 5. Logout Logout Show login form Shutdown the system

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Key idea: different objects work for different features  Caller and callee object ID in each method calls in the sample trace  Monitoring changing of a working set of objects using a Least-Recently-Used (LRU) cache

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Phase Detection Process 1.Execute a program and record an execution trace 2.Detect phase transitions  Each phase uses its own working set of objects.  Changing of working set of objects = phase transition 3.Identify the head event of each phases  The beginning of a phase corresponds to a method call event following the end of a method belonging to the previous phase.  Output: the list of the events that is the head of the phases

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Recording an execution trace  Each method call event has the following attributes:  Timestamp  Caller object ID  Callee object ID  Call stack information  The depth of the call stack  A profiler based on JVMTI

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Detecting Phase Transitions  Observing the working set of objects using a LRU cache  Push the CallerID and CalleeID into the LRU cache  Record whether the cache is updated and calculate frequency Timestamp CallerID… CalleeID… LRU Cache (cache size = 6) … … … … … … … … … … … … Update Flag… … Frequency (window = 5) …

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Identifying the Head Event of each phase  For each events that have higher frequency  Go back to a event that is likely to trigger the new phase  Identify an event who has the local-minimum depth of the call stack

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Case Study  Can we get correct phases by our approach?  Compare phases automatically detected by our approach with phases manually identified by developers  How do the parameters effect to result ?  Use various “Cache size” and “Window size”  Cache size : the size of a LRU cache  Window size : the sliding window calculating frequency

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Procedure of the Case Study 1.Record execution traces from 2 industrial systems  Tool Management System: 1 program, 4 scenarios, 4 traces  Library Management System: 5 programs, 1scenario, 5 traces 2.Ask developers of the systems to manually identify all phases in each trace  As correct feature-level phases and minor phases 3.Detect phases by our method with various parameter settings  9 traces × various parameter settings = about 10,000 outputs  Less than 5 minutes on a workstation (Xeon 3.0 GHz) 4.Compare all phases detected by our approach with correct phases manually identified by developers

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Result of the Case Study  Evaluation  The number of output phases with each parameter settings  Comparing the head event of output phases with one of parameter changes  Precisions and recalls with several parameter settings Feature-level phaseMinor phase (18) 1. Login Show login form Login Get pre-user settings Show entrance page 2. Listing items in database Get management information Get pre-user items Get list of items Show list of items 3. Show the detail of an item Get an item ID Get a detail of the item Show the item information 4. Updating the item information Get an item ID Update the item information Get a detail of the item Show the item information 5. Logout Logout Show login form Shutdown the system

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA The number of output phases  with various cache size and window size A smaller cache size / window size lead to output a large number of phases.

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Effect of ether cache size / window size  Result from Various cache size and fixed window size  Result from Various window size and fixed cache size The result is stable.

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Precision with several parameter settings  Average precision of all parameter settings that result the same number of output phase Very high precision with smaller number of output phases

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Recall with several parameter settings  Average recalls of all parameter settings that result the same number of output phases Never detected some correct phases comprising a extremely small number of objects and method call events. Increasing with the number of output phases

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Average Precision and Recall for all traces  Average precision and Recall for various parameter settings that detect the same number of phases  Tool Management System (Feature-level phases : 3 to 5)  Library Management System (Feature-level phases : 15 ) #PhasesRecall(Feature)Recall(All)Precision #PhasesRecall(Feature)Recall(All)Precision Developers can apply our approach if they could estimate the number of feature-level phases from a use-case scenario.

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Summary  A novel approach to efficiently detecting phases using a LRU cache for observing a working set of objects  Light weight and easy to implement  Detect phases with precision  With only a little knowledge on an execution trace  Future work  to investigate a way to automatically map an execution trace to an use-case scenario  to investigate how the algorithm work in concurrent systems other than enterprise systems

Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008 WODA Tool Information  AMIDA  Recording execution traces from JAVA program  Detecting phases from the traces with several parameter setting  Visualizing a phase as a sequence diagram