Presented by: Ashgan Fararooy Referenced Papers and Related Work on:

Slides:



Advertisements
Similar presentations
New Technologies Supporting Technical Intelligence Anthony Trippe, 221 st ACS National Meeting.
Advertisements

A Framework for Ontology-Based Knowledge Management System
Xyleme A Dynamic Warehouse for XML Data of the Web.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
What is a document? Information need: From where did the metaphor, doing X is like “herding cats”, arise? quotation? “Managing senior programmers is like.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Data Abstraction and Object- Oriented Programming CS351 – Programming Paradigms.
Latent Semantic Analysis (LSA). Introduction to LSA Learning Model Uses Singular Value Decomposition (SVD) to simulate human learning of word and passage.
Building Knowledge-Driven DSS and Mining Data
BUSINESS DRIVEN TECHNOLOGY
Ontology translation: two approaches Xiangkui Yao OntoMorph: A Translation System for Symbolic Knowledge By: Hans Chalupsky Ontology Translation on the.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Text Mining: Finding Nuggets in Mountains of Textual Data Jochen Dijrre, Peter Gerstl, Roland Seiffert Presented by Huimin Ye.
Text Mining: Finding Nuggets in Mountains of Textual Data Jochen Dijrre, Peter Gerstl, Roland Seiffert Presented by Drew DeHaas.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Impact Analysis of Database Schema Changes Andy Maule, Wolfgang Emmerich and David S. Rosenblum London Software Systems Dept. of Computer Science, University.
Data Mining : Introduction Chapter 1. 2 Index 1. What is Data Mining? 2. Data Mining Functionalities 1. Characterization and Discrimination 2. MIning.
OOSE 01/17 Institute of Computer Science and Information Engineering, National Cheng Kung University Member:Q 薛弘志 P 蔡文豪 F 周詩御.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1 Yolanda Gil Information Sciences InstituteJanuary 10, 2010 Requirements for caBIG Infrastructure to Support Semantic Workflows Yolanda.
Chapter 2 The process Process, Methods, and Tools
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Dependency Tracking in software systems Presented by: Ashgan Fararooy.
Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet.
PLATFORM INDEPENDENT SOFTWARE DEVELOPMENT MONITORING Mária Bieliková, Karol Rástočný, Eduard Kuric, et. al.
Discussions for oneM2M Semantics Standardization Group Name: WG5 Source: InterDigital Communications Meeting Date: Agenda Item: WI-0005 ASN/MN-CSE.
A REFACTORING TOOL FOR DESIGN PATTERNS WITH MODEL TRANSFORMATIONS Zekai Demirezen Yasemin Topaloğlu Ege University Department of Computer Engineering
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
UOS 1 Ontology Based Personalized Search Zhang Tao The University of Seoul.
Ontology-Driven Automatic Entity Disambiguation in Unstructured Text Jed Hassell.
© 2007 by Prentice Hall 1 Introduction to databases.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
CSC-682 Cryptography & Computer Security Sound and Precise Analysis of Web Applications for Injection Vulnerabilities Pompi Rotaru Based on an article.
Chapter 12 View Design and Integration. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for view design.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Applying Clone.
Automatic Image Annotation by Using Concept-Sensitive Salient Objects for Image Content Representation Jianping Fan, Yuli Gao, Hangzai Luo, Guangyou Xu.
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.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SEMINAR WEI GUO. Software Visualization in the Large.
Chapter 5: Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization DECISION SUPPORT SYSTEMS AND BUSINESS.
Software Project Management
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Why have an Ontology for DoT? The difficult questions.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Information Integration 15 th Meeting Course Name: Business Intelligence Year: 2009.
Achieving Semantic Interoperability at the World Bank Designing the Information Architecture and Programmatically Processing Information Denise Bedford.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Recommending Adaptive Changes for Framework Evolution Barthélémy Dagenais and Martin P. Robillard ICSE08 Dec 4 th, 2008 Presented by EJ Park.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Objective ICT : Internet of Services, Software & Virtualisation FLOSSEvo some preliminary ideas.
Of 24 lecture 11: ontology – mediation, merging & aligning.
Practical IT Research that Drives Measurable Results Vendor Landscape Plus: Enterprise Content Management Suite ECM: A vendor marketing concept, not an.
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
Introduction to Machine Learning, its potential usage in network area,
Interface Concepts Modeling Core Team
Integrating MBSE into a Multi-Disciplinary Engineering Environment A Software Engineering Perspective Mark Hoffman 20 June 2011 Copyright © 2011 by Lockheed.
Software Project Configuration Management
Designing Cross-Language Information Retrieval System using various Techniques of Query Expansion and Indexing for Improved Performance  Hello everyone,
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Program comprehension during Software maintenance and evolution Armeliese von Mayrhauser , A. Marie Vans Colorado State University Summary By- Fardina.
Design and Programming
Module P4 Identify Data Products and Views So Their Requirements and Attributes Can Be Controlled Learning Objectives: Understand the value of data. Understand.
Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development Yuehua Lin, Jing Zhang, Jeff Gray.
Recommending Adaptive Changes for Framework Evolution
Presentation transcript:

Presented by: Ashgan Fararooy Referenced Papers and Related Work on:

Possible Related Papers  Automatic Inference of Structural Changes for Matching Across Program Versions  An Approach to Software Evolution Based on Semantic Change  Understanding source code evolution using abstract syntax tree matching  Recomposition - Coordinating a Web of Software Dependencies  Identifying the Semantic and Textual Differences Between Two Versions of The Program  Visualizing and Querying Software Structures

Miryung Kim, David Notkin, Dan Grossman

Abstract  Goal: Mapping code elements in one version of a program to corresponding code elements in another version  A fundamental building block for many software engineering tools  Tools that match code elements or identify structural changes (refactorings and API changes): Version merging tools Regression testing tools Profile propagation tools

Abstract  Two important limitations of such tools Having difficulty disambiguating among many potential matches or refactoring candidates Hard to analyze their outcome due to an unstructured representation of results  Proposed approach to overcome these limitations: Represent structural changes as a set of high-level change rules Automatically infer likely change rules and determines method-level matches based on the rules

Motivation  Interest in mining software repositories is demanding more effective and systematic matching techniques  The unstructured, usually lengthy, list of matches or refactorings may prevent the result of existing tools from being broadly used in mining software repository research

Background  To match code elements, the differences between two programs must be identified  Computing semantic differences is undecidable  Tools typically approximate matching via syntactic similarity  Existing refactoring reconstruction tools look for code changes that match a predefined set of refactoring patterns  Problem: either too many refactoring candidates or no candidates

Change Rules  Question: “Given two versions of a program, what changes occurred with respect to a particular vocabulary of changes?”  A change vocabulary characterizes the applications for which the matching results can be used  For example, “diff” defines a change vocabulary in terms of delete, add, and move line

Change Rules  The paper introduces a change vocabulary with the goal of representing groups of related homogeneous changes precisely  The core of their change vocabulary is a change rule consisting of a quantifier and a scope to which a low-level transformation applies  “For all x in (scope − exceptions),t(x),” where t is a transformation, scope is a set of code elements, and exceptions is a subset of scope  Their change vocabulary describes structural changes at or above the level of a method header

Change Rules Transformation Samples:

Change Rules Change Rule Samples:  All methods whose class name either includes Plot or JThermometer changed their package name from chart to chart.plot:

Change Rules Change Rule Samples:  All methods that match the chart.*Plot.get*Range() pattern take an additional ValueAxis argument, except the getVerticalRange method in the MarkerPlot class:

Rule-based Matching  The paper defines a matching between two versions of a program by a set of change rules  The scope of one rule may overlap with the scope of another rule as some methods undergo more than one transformation  The inference algorithm ensures that it infers a set of rules such that the application order of rules does not matter  The methods that are not matched by any rules are deleted or added methods

Applications of Change Rules  Bug Finding  Assisted Documentation  API Evolution Analysis  API Update  Identifying Related Changes

Evaluation & Conclusion  By applying their tool to several open source projects, the authors show that it identifies matches that are difficult to find using other approaches  They also show their approach produces more concise results than other approaches  They claim their approach is the first to automatically infer structural changes and represent them concisely as a set of rules

Rebecca E. Grinter

Abstract  Revisiting the concept of "recomposition”: All the work that development organizations do to make sure that their product fits together and into a broader environment of other technologies  Technologies, such as Configuration Management (CM) systems, can ameliorate some of a software development team’s need to engage in recomposition  Technological solutions do not scale to address other kinds of recomposition needs

Summary  The paper focuses on various organizational responses to the need for recomposition  Describes how those responses are manifested in the day-to-day communications and responsibilities of individuals throughout the organization  Highlights how changes in an organization complicate recomposition

Conclusion The paper concludes with a discussion of three features of software development work that are revealed by recomposition: The affects of environmental disturbances on development work The types of dependencies that require recomposition The images of organizations required to manage the recomposition