Zee Source © 2004 Zee Source, All Rights Reserved1 Pankaj K Garg Zee Source May 25, 2004 Mining Software Repositories to Promote Reuse.

Slides:



Advertisements
Similar presentations
Integrated Project Management IPM (Without IPPD) Intermediate Concepts of CMMI Project meets the organization Author: Kiril Karaatanasov
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Object-Oriented Analysis and Design
Report on Intrusion Detection and Data Fusion By Ganesh Godavari.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
7M822 Software Engineering: System Models 14 September 2009.
Lecture Two Database Environment Based on Chapter Two of this book:
Data Warehouse Components
Database Environment 1.  Purpose of three-level database architecture.  Contents of external, conceptual, and internal levels.  Purpose of external/conceptual.
Introduction to Systems Analysis and Design Trisha Cummings.
Object Oriented Software Development
CSE 331 Software Design & Implementation Hal Perkins Autumn 2012 Java Classes, Interfaces, and Types 1.
4.x Performance Technology drivers – Exascale systems will consist of complex configurations with a huge number of potentially heterogeneous components.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University ICSE 2003 Java.
An Integrated Approach to Extracting Ontological Structures from Folksonomies Huairen Lin, Joseph Davis, Ying Zhou ESWC 2009 Hyewon Lim October 9 th, 2009.
Exploiting Wikipedia as External Knowledge for Document Clustering Sakyasingha Dasgupta, Pradeep Ghosh Data Mining and Exploration-Presentation School.
CSCE 548 Code Review. CSCE Farkas2 Reading This lecture: – McGraw: Chapter 4 – Recommended: Best Practices for Peer Code Review,
Database System Concepts and Architecture
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Current Status of Software Industry in Japan.
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
REUSE-Re-Engineering The Software Process By Venkat Praveen Medikonda.
Clustering User Queries of a Search Engine Ji-Rong Wen, Jian-YunNie & Hon-Jian Zhang.
Chapter 2 Architecture of a Search Engine. Search Engine Architecture n A software architecture consists of software components, the interfaces provided.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Software Measurement & Metrics
McGraw-Hill/Irwin Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 7 CASE Tools and Joint and Rapid Application Development.
Report on Intrusion Detection and Data Fusion By Ganesh Godavari.
1 Copyright(c) Dave Krupinski. All rights reserved. Webgenz and Content Management An introduction to using Webgenz to develop and maintain.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki 1 Machine Learning.
Workshop on Software Product Archiving and Retrieving System Takeo KASUBUCHI Hiroshi IGAKI Hajimu IIDA Ken’ichi MATUMOTO Nara Institute of Science and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
SEMINAR WEI GUO. Software Visualization in the Large.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
SINGULAR VALUE DECOMPOSITION (SVD)
8/31/2012ISC329 Isabelle Bichindaritz1 Database Environment.
Database Environment Session 2 Course Name: Database System Year : 2013.
Authors: Marius Pasca and Benjamin Van Durme Presented by Bonan Min Weakly-Supervised Acquisition of Open- Domain Classes and Class Attributes from Web.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Where it all comes together.  The Adaptive Mosaic Reporting Technology begins with the concept of a Mosaic.  A Mosaic Report is constructed by assembling.
1 Masters Thesis Presentation By Debotosh Dey AUTOMATIC CONSTRUCTION OF HASHTAGS HIERARCHIES UNIVERSITAT ROVIRA I VIRGILI Tarragona, June 2015 Supervised.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Search Engine using Web Mining COMS E Web Enhanced Information Mgmt Prof. Gail Kaiser Presented By: Rupal Shah (UNI: rrs2146)
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
Concept Mapping concept Related Link. Opening Questions What does it mean when a student says “I understand?” Does it mean something different for every.
1 Chapter 2 Database Environment Pearson Education © 2009.
Agents for Case-based software reuse Stein Inge Morisbak Web:
Completing the Loop: Linking Software Features to Failures 20 July 2004 Copyright © 2004, Mountain State Information Systems, Inc. All rights reserved.
Software Packaging for Reuse James Marshall (INNOVIM), Code 614.5, NASA GSFC The Software Packaging for Reuse document (version 1.0), developed and recently.
1 API Recommendation Wujie Zheng
METADATA MANAGEMENT AT ISTAT: CONCEPTUAL FOUNDATIONS AND TOOLS Istituto Nazionale di Statistica ITALY.
Strategy Pattern Jim Fawcett CSE776 – Design Patterns Fall 2014.
Exploiting Wikipedia as External Knowledge for Document Clustering
CASE Tools and Joint and Rapid Application Development
Introduction to Design Patterns
Component Based Software Engineering
Applications of Data Mining in Software Engineering
Mining and Analyzing Data from Open Source Software Repository
Object-Oriented Analysis
X-DIS/XBRL Meeting Eurostat - Statistics Belgium Brussels
Introduction to Systems Analysis and Design
Introduction Software is becoming very expensive:
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Authors: Barry Smyth, Mark T. Keane, Padraig Cunningham
MAPO: Mining and Recommending API Usage Patterns
Bug Localization with Combination of Deep Learning and Information Retrieval A. N. Lam et al. International Conference on Program Comprehension 2017.
(Software) reuse, is the use of (Software) knowledge, to build new (something) software.
Strategy Pattern Jim Fawcett CSE776 – Design Patterns Fall 2014.
Presentation transcript:

Zee Source © 2004 Zee Source, All Rights Reserved1 Pankaj K Garg Zee Source May 25, 2004 Mining Software Repositories to Promote Reuse

Zee Source © 2004 Zee Source, All Rights Reserved 2 Mining Repositories for Reuse Repository – collection of source code, discussions, bug reports, etc., a la SourceForge Reuse – component, source code, or knowledge Find relevant component Use or adapt component Maintain reusable component

Zee Source © 2004 Zee Source, All Rights Reserved 3 LASER… Use WordNet for identifying concepts and relationships between concepts –e.g., synonyms, is-a, part-of Use WordNet derived relationships to suggest reusable components by analogy –e.g., client ~ patient => superclass person

Zee Source © 2004 Zee Source, All Rights Reserved 4 LASER… Hierarchical reuse –recommend superclass Parallel reuse –recommend class structure Current experiments: –Do class and method names map to WordNet entries? –Do class and superclass names have a hypernym relationship?

Zee Source © 2004 Zee Source, All Rights Reserved 5 Collaborative Filtering… v(i, c) = # of use of component c by class i r(a, c) = sum(v(i, c) * sim(a, i)) Recommend if: r(a, c) > Tau

Zee Source © 2004 Zee Source, All Rights Reserved 6 Collaborative Filtering… Experiment: How accurately can we recommend correct components? Does this accuracy depend on the stage of development?

Zee Source © 2004 Zee Source, All Rights Reserved 7 Template Mining… Analyze source code for lexical tokens Match templates against the tokens Construct results based on understanding of tokens and their relationships –exact match –generalization –reduction –name only

Zee Source © 2004 Zee Source, All Rights Reserved 8 Template Mining… Example template –class Matrix –methods getMatrix, transpose, plus, minus Experiment: –Comparison of various methods of matching

Zee Source © 2004 Zee Source, All Rights Reserved 9 Multiproject… Reuse knowledge from a project for other projects Such knowledge can be: –Which component implementation among several should a project use? –How to adapt a component for reuse? –Issues or problems with a component

Zee Source © 2004 Zee Source, All Rights Reserved 10 Multiproject… Approaches for: –clustering similar components together –ranking components based on their use –automated adaptation of components for reuse

Zee Source © 2004 Zee Source, All Rights Reserved 11 Summary Recent availability of software repositories makes mining for reuse attractive Mining may help in selecting reusable components Mining may help in adapting or maintaining components