Using Metrics to Identify Design Patterns in Object-Oriented Software EPM
|
|
- Dennis Foster
- 5 years ago
- Views:
Transcription
1 Using Metrics to Identify Design Patterns in Object-Oriented Software G. Antoniol
2 Outline Motivations; Design patterns concepts; Design patterns recovery approach; Experimental results; Conclusions.
3 Motivations Program comprehension; Aid in maintenance; Design-implementation implementation compliance check; Design quality evaluation.
4 Design Patterns Reusable, well-known solutions to common design problems; Categories: structural; creational behavioral. Proxy Pattern Subject op() RealSub op() RealSub -> op() Proxy op() Refers
5 Pattern/Motif/Architecture Pattern also means intent, consequences, The pattern encompasses a lot more then structure or behaviour Motif is just an instance in a code of a trait, act, feature something we observe similar in nature to a DP Actually we observe the micro-architecture and related motifs pointing to DP Motif intent may never be known
6 Approach Metrics based multi-stage recovery process for structural design patterns; Conservative recovery process; Uniform representation of design and code using a design description language; Experimented on industrial and public-domain C++ applications.
7 Old Metric Based Recovery Process
8 A META-Level Design/Code AOL Representation AOL: a design description language; Captures OO design concepts from design and/or code; UML-based; StP/OMT - AOL translator; C++ - AOL translator. CLASS Subject OPERATIONS PUBLIC op(); CLASS RealSub OPERATIONS PUBLIC op(); CLASS Proxy OPERATIONS PUBLIC op(); GENERALIZATION Subject SUBCLASSES Realsub, Proxy; RELATION Refers ROLES CLASS Proxy MULT one, CLASS RealSub MULT one
9 Computed Metrics Private, public, protected methods and attributes Relation number: association aggregation inheritance Depth of the inheritance tree, number of children...
10 Multi-Stage Pattern Recovery Given a design pattern = k Pattern Recovery: check constraints on all dispositions of n classes k by k. Complexity: O( n k ) p ( < e1,..., e >, R )
11 Metrics-based stage Software metrics allows to effectively prune the search space by means of class metrics and class pairs shortest path; First kind of constraints: single class level metrics; Output: a set of class candidate sets for each pattern searched.
12 Metrics-based Stage: continued p C i = k ( < e1,..., e >, R ) M p =< m1,..., m k = { x x D, m Mp : m m, m i, i Example: Proxy. <Sub,RealSub,Proxy>, k=3. < c1, c 2, c 3 > Proxy( D) i, j [ 2,0,0 ], [ 0,1,0 ], [ 0,1,1 ] > i only if # kids( c ) 2 # inh( c2) 1 # inh( c3) 1 #assoc(c 3 > [ x] m } Suppose collected metrics are: kids nbr, father nbr, association nbr M Proxy =< 1 ) j 1 ij
13 Metrics-based Stage: Shortest Path Second kind of constraint: topology based; Class pairs shortest path; Given a class: the remaining pattern constituents must be reachable in a number of steps constrained by the pattern structure; Output: reduced candidate sets R j
14 Topology Constraint
15 Shortest Path Equations Let Cmin be the smallest set given y C build min R i ( y) x C : i ShPath ( x, y ) = ShPath ( e i, e min ) R = { < min r1 ( y),.., y,.., rn ( y) > y C ri ( y) Ri ( y)}
16 Exact Structural Constraints Exact design pattern relations are verified on reduced candidate sets. Let R s be the pattern subset of structural relations: R S = x x=< x,..., x > R r R { 1 n s : r( e p,..., e t ) r( x p,..., x t )}
17 Delegation Stage A class may implement an operation by calling a methods of another class (to which it is associated) thus it delegates the responsibility to it Method calls of candidate classes are analyzed to verify delegation; Often not applicable to design since method calls is always not documented.
18 Limitations of the approach Code to AOL translation is affected by inherent ambiguities in language implementation of associations and aggregations see C++ ; Heuristics example: associations: object pointer/reference data member or method formal parameter; aggregations: object instance or array data member, class template argument; Solution: search also soft patterns, where aggregations are substituted by associations.
19 Experiment: Public-Domain Sw Design pattern recovery from code; 6 C++ applications, ranging from 5 to 127KLOC for a total size of 328KLOC; Not explicitly designed using patterns; Reduction effectiveness of the three stages: metrics-based: 3-4 orders of magnitude; structural: 1-2 orders of magnitude; delegation: 2-3 times.
20 Public-Domain SW Results Few patterns instances: Adapter and Proxy most frequent 25 /100KLOC identified, 9 /100KLOC actual; Recovery retrieval effectiveness: characterized using precision and recall; Recall is always 100% (conservative approach); Precision: no delegation: ave = 20.1%, range = %; delegation: ave = 55.4%, range = %; 100%; No soft patterns retrieved were found as actual instances; Time: no delegation: 1s/KLOC, delegation: 1.16s/KLOC.
21 Experiment: Industrial Software Assessment of design pattern use; Telecommunication software: 8 complete C++ components with code and OMT design for a total of about 200 KLOC; Pattern recovery on design: delegation constraints not applicable; only 4 of 8 systems contained pattern instances; two kinds of patterns, 32 Adapter, 6 Bridge.
22 Experiment: Industrial Sw: cont. Pattern Recovery on Code: actual pattern instances present in 2 of 8 systems; Precision: no delegation:16%, delegation:80%; Design-Code Pattern Compliance: no code-design design pattern instances intersection: motivations: no delegation used in design, reused/cots classes in code not modeled in design, design not maintained.
23 Precision/Recall Trade Off On large software a high number of false positive may be generated; Non admissible approaches may be considered; Metrics as: nesting level, cyclomatic complexity, coupling may help to reduce the candidate sets; A compromise between precision and recall may be necessary.
24 Graph Similarity
25 Graph DP structure can be represented as a graph (or a multigraph) A class diagram is just a graph Graph isomorphism is actually not a point as a DP is small and class diagrams are usually large We need something different define a graph similarity
26 Google The WEB is a huge graph Certain nodes are more important than others a good hub is pointed by many good authorities a good compilation of resources web a good authority is pointed by many good hub; National Cancer Institute or NSERC or mono topic but authoritative Goal assign a hub score and authority score it is kind of a graph weighting itself but how
27 Graph to Graps Suppose we have two graphs Ga and Gb each can be described by its adjacency matrix A and B then: T T BZ A + B Z A The series Zodd and Zeven limit of 2k+1 and 2k have different properties We are interested to the series a 1-norm i.e., it is between 0 and 1 Z k k 1 = = 0,1,2,... T T BZ A + B Z A k + k k k F Z 2k
28 Graph similarity Set Z0 a matrix of all 1 Compute: Z T T BZk A + B Zk A 1 = = 0,1,2,... T T BZ A + B Z A k + k k k F Z 2k After a few iteration contains the similarity node by node of the two graphs
29 DP recognition A DP is just a graph A class diagram is a graph Consider that it is actually a multi-graph association, inheritance, aggregation A DP is usually pretty small a few node thus the computation is really fast
30 References Giuliano Antoniol et al Object-oriented design patterns recovery. Journal of Systems and Software 59(2): (2001) Vincent Blondel et al A MEASURE OF SIMILARITY BETWEEN GRAPH VERTICES: APPLICATIONS TO SYNONYM EXTRACTION AND WEB SEARCHING Nikolaos Tsantalis et al, "Design Pattern Detection Using Similarity Scoring," IEEE Transactions on Software Engineering,, vol. 32, no. 11, pp , 909, November 2006 Laura A. Zager,, George C. Verghese: Graph similarity scoring and matching. Appl. Math. Lett. 21(1): (2008) Laura A. Zager: Graph similarity MIT dissertation June 2005
Graph similarity. Laura Zager and George Verghese EECS, MIT. March 2005
Graph similarity Laura Zager and George Verghese EECS, MIT March 2005 Words you won t hear today impedance matching thyristor oxide layer VARs Some quick definitions GV (, E) a graph G V the set of vertices
More informationKeywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.
Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad
More informationCSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich
CSCD01 Engineering Large Software Systems Design Patterns Joe Bettridge Winter 2018 With thanks to Anya Tafliovich Design Patterns Design patterns take the problems consistently found in software, and
More informationDesign Pattern Recovery in Object-Oriented Software
Design Pattern Recovery in Object-Oriented Software G. Antoniol, R. Fiutem and L. Cristoforetti ITC-IRST Istituto per la Ricerca Scientifica e Tecnologica Povo (Trento), Italy I-38050 e-mail: antonioljfiutemjcristofo@itc.it
More informationRecovery of Design Pattern from source code
Recovery of Design Pattern from source code Amit Kumar Gautam and T.Gayen Software Engineering, IIIT Allahabad tgayen@iiita.ac.in, Ise2008004@iiita.ac.in Abstract. The approach for detecting design pattern
More informationLecture 18 Solving Shortest Path Problem: Dijkstra s Algorithm. October 23, 2009
Solving Shortest Path Problem: Dijkstra s Algorithm October 23, 2009 Outline Lecture 18 Focus on Dijkstra s Algorithm Importance: Where it has been used? Algorithm s general description Algorithm steps
More informationSoftware Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.
Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice
More informationDesign Pattern and Software Architecture: IV. Design Pattern
Design Pattern and Software Architecture: IV. Design Pattern AG Softwaretechnik Raum E 3.165 Tele.. 60-3321 hg@upb.de IV. Design Pattern IV.1 Introduction IV.2 Example: WYSIWYG Editor Lexi IV.3 Creational
More informationMetrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University
and OO OO and OO SE 3S03 - Tutorial 12 Department of Computer Science McMaster University Complexity Lorenz CK Week of Apr 04, 2016 Acknowledgments: The material of these slides is based on [1] (chapter
More informationDesign Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1
What is a Design Pattern? Each pattern Describes a problem which occurs over and over again in our environment,and then describes the core of the problem Novelists, playwrights and other writers rarely
More informationDesign Patterns. An introduction
Design Patterns An introduction Introduction Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Your design should be specific to the problem at
More informationSoftware Design COSC 4353/6353 D R. R A J S I N G H
Software Design COSC 4353/6353 D R. R A J S I N G H Design Patterns What are design patterns? Why design patterns? Example DP Types Toolkit, Framework, and Design Pattern A toolkit is a library of reusable
More informationDesign Patterns. Gunnar Gotshalks A4-1
Design Patterns A4-1 On Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every problem
More informationCSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich
CSCD01 Engineering Large Software Systems Design Patterns Joe Bettridge Winter 2018 With thanks to Anya Tafliovich Design Patterns Design patterns take the problems consistently found in software, and
More informationSearch Algorithms. IE 496 Lecture 17
Search Algorithms IE 496 Lecture 17 Reading for This Lecture Primary Horowitz and Sahni, Chapter 8 Basic Search Algorithms Search Algorithms Search algorithms are fundamental techniques applied to solve
More informationA Reconnaissance on Design Patterns
A Reconnaissance on Design Patterns M.Chaithanya Varma Student of computer science engineering, Sree Vidhyanikethan Engineering college, Tirupati, India ABSTRACT: In past decade, design patterns have been
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationComposite Pattern. IV.4 Structural Pattern
IV.4 Structural Pattern Motivation: Compose objects to realize new functionality Flexible structures that can be changed at run-time Problems: Fixed class for every composition is required at compile-time
More informationOBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis
UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance
More informationCASE TOOLS LAB VIVA QUESTION
1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More informationExam in TDDB84: Design Patterns,
Exam in TDDB84: Design Patterns, 2014-10-24 14-18 Information Observe the following, or risk subtraction of points: 1) Write only the answer to one task on one sheet. Use only the front side of the sheets
More informationModellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 9 OO modeling Design Patterns Structural Patterns Behavioural Patterns
More informationProduced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar
Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationSDC Design patterns GoF
SDC Design patterns GoF Design Patterns The design pattern concept can be viewed as an abstraction of imitating useful parts of other software products. The design pattern is a description of communicating
More informationTechnical Metrics for OO Systems
Technical Metrics for OO Systems 1 Last time: Metrics Non-technical: about process Technical: about product Size, complexity (cyclomatic, function points) How to use metrics Prioritize work Measure programmer
More informationNOTES ON OBJECT-ORIENTED MODELING AND DESIGN
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented
More informationFigure 2.1: A bipartite graph.
Matching problems The dance-class problem. A group of boys and girls, with just as many boys as girls, want to dance together; hence, they have to be matched in couples. Each boy prefers to dance with
More informationCombining Probabilistic Ranking and Latent Semantic Indexing for Feature Identification
Combining Probabilistic Ranking and Latent Semantic Indexing for Feature Identification Denys Poshyvanyk, Yann-Gaël Guéhéneuc, Andrian Marcus, Giuliano Antoniol, Václav Rajlich 14 th IEEE International
More informationAn Empirical Verification of Software Artifacts Using Software Metrics
An Empirical Verification of Software Artifacts Using Software Metrics Raed Shatnawi and Ahmad Alzu bi Abstract In model-driven development, design understandability is very important to maintain software
More informationDesign Pattern Detection
Design Pattern Detection Design Patterns EECS 6431 Design Pattern Detection 2/22 A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution
More informationTechnical Report Dept. Of Engineering University of Sannio
Technical Report Dept. Of Engineering University of Sannio Design Pattern Finder : A Model-driven Graph-Matching Approach to Design Pattern Mining Mario L. Bernardi 1, Marta Cimitile 2, Giuseppe Di Lucca
More informationDesign Patterns Revisited
CSC 7322 : Object Oriented Development J Paul Gibson, A207 paul.gibson@int-edu.eu http://www-public.it-sudparis.eu/~gibson/teaching/csc7322/ Design Patterns Revisited /~gibson/teaching/csc7322/l13-designpatterns-2.pdf
More informationDesign Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns
Introduction o to Patterns and Design Patterns Dept. of Computer Science Baylor University Some slides adapted from slides by R. France and B. Tekinerdogan Observations Engineering=Problem Solving Many
More informationA.I.: Informed Search Algorithms. Chapter III: Part Deux
A.I.: Informed Search Algorithms Chapter III: Part Deux Best-first search Greedy best-first search A * search Heuristics Outline Overview Informed Search: uses problem-specific knowledge. General approach:
More informationadministrivia today UML start design patterns Tuesday, September 28, 2010
administrivia Assignment 2? promise to get past assignment 1 back soon exam on monday review slides are posted your responsibility to review covers through last week today UML start design patterns 1 Unified
More informationAn Approach for Quality Control Management in Object Oriented Projects Development
J. Basic. Appl. Sci. Res., 3(1s)539-544, 2013 2013, TextRoad Publication ISSN 2090-4304 Journal of Basic and Applied Scientific Research www.textroad.com An Approach for Quality Control Management in Object
More informationDRAFT. RealSubject->operation() RealSubject. Refers. specoperation() Target. Adaptee. Adapter. operation() Adaptee->specOperation()
Using Metrics to Identify Design Patterns in Object-Oriented Software ABSTRACT Object-Oriented design patterns are an emergent technology: they are reusable micro-architectures, high level building blocks.
More informationReusability Metrics for Object-Oriented System: An Alternative Approach
Reusability Metrics for Object-Oriented System: An Alternative Approach Parul Gandhi Department of Computer Science & Business Administration Manav Rachna International University Faridabad, 121001, India
More informationReach for A : an Efficient Point-to-Point Shortest Path Algorithm
Reach for A : an Efficient Point-to-Point Shortest Path Algorithm Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Joint with Haim Kaplan and Renato Werneck Einstein
More informationINTERNAL ASSESSMENT TEST III Answer Schema
INTERNAL ASSESSMENT TEST III Answer Schema Subject& Code: Object-Oriented Modeling and Design (15CS551) Sem: V ISE (A & B) Q. No. Questions Marks 1. a. Ans Explain the steps or iterations involved in object
More informationDesign Patterns. Lecture 10: OOP, autumn 2003
Design Patterns Lecture 10: OOP, autumn 2003 What are patterns? Many recurring problems are solved in similar ways This wisdom is collected into patterns design patterns - about software design Other kinds
More informationWhat are patterns? Design Patterns. Design patterns. Creational patterns. The factory pattern. Factory pattern structure. Lecture 10: OOP, autumn 2003
What are patterns? Design Patterns Lecture 10: OOP, autumn 2003 Many recurring problems are solved in similar ways This wisdom is collected into patterns design patterns - about software design Other kinds
More informationLeveraging Set Relations in Exact Set Similarity Join
Leveraging Set Relations in Exact Set Similarity Join Xubo Wang, Lu Qin, Xuemin Lin, Ying Zhang, and Lijun Chang University of New South Wales, Australia University of Technology Sydney, Australia {xwang,lxue,ljchang}@cse.unsw.edu.au,
More informationPatterns and Testing
and Lecture # 7 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the lectures of Marc Conrad and Dayou Li and on the book Applying UML and (3
More informationDesign Pattern Detection
Design Pattern Detection Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every
More informationSemantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94
ه عا ی Semantic Web Ontology Engineering and Evaluation Morteza Amini Sharif University of Technology Fall 93-94 Outline Ontology Engineering Class and Class Hierarchy Ontology Evaluation 2 Outline Ontology
More informationCSC 172 Data Structures and Algorithms. Lecture 24 Fall 2017
CSC 172 Data Structures and Algorithms Lecture 24 Fall 2017 ANALYSIS OF DIJKSTRA S ALGORITHM CSC 172, Fall 2017 Implementation and analysis The initialization requires Q( V ) memory and run time We iterate
More informationWeb consists of web pages and hyperlinks between pages. A page receiving many links from other pages may be a hint of the authority of the page
Link Analysis Links Web consists of web pages and hyperlinks between pages A page receiving many links from other pages may be a hint of the authority of the page Links are also popular in some other information
More informationA Novel Approach to Automated Design Pattern Detection
A Novel Approach to Automated Design Pattern Detection Nikolaos Tsantalis, Alexander Chatzigeorgiou, Spyros T. Halkidis and George Stephanides Department of Applied Informatics, University of Macedonia,
More informationCSE 101- Winter 18 Discussion Section Week 6
CSE 101- Winter 18 Discussion Section Week 6 Administrative Introducing 1:1 Sessions: https://docs.google.com/spreadsheets/d/1kgxt_rzbzlibbdijiczs_ o1wxdwa9hhvxccprn8_bwk/edit?usp=sharing Please see the
More informationSemantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 95-96
ه عا ی Semantic Web Ontology Engineering and Evaluation Morteza Amini Sharif University of Technology Fall 95-96 Outline Ontology Engineering Class and Class Hierarchy Ontology Evaluation 2 Outline Ontology
More informationAnnouncements. The current topic: Scheme. Review: BST functions. Review: Representing trees in Scheme. Reminder: Lab 2 is due on Monday at 10:30 am.
The current topic: Scheme! Introduction! Object-oriented programming: Python Functional programming: Scheme! Introduction! Numeric operators, REPL, quotes, functions, conditionals! Function examples, helper
More informationInformed Search Algorithms
Informed Search Algorithms CITS3001 Algorithms, Agents and Artificial Intelligence Tim French School of Computer Science and Software Engineering The University of Western Australia 2017, Semester 2 Introduction
More informationDetection and Evolution of Design Patterns: Two Decades Later?
Definition of design patterns Detection and Evolution of Design Patterns: Two Decades Later? Laleh M. Eshkevari E cole Polytechnique de Montre al, Que bec, Canada March 5th, 2013 Laleh M. Eshkevari March
More informationDesign Patterns. Manuel Mastrofini. Systems Engineering and Web Services. University of Rome Tor Vergata June 2011
Design Patterns Lecture 1 Manuel Mastrofini Systems Engineering and Web Services University of Rome Tor Vergata June 2011 Definition A pattern is a reusable solution to a commonly occurring problem within
More informationLecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802
UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1
More informationFacade and Adapter. Comp-303 : Programming Techniques Lecture 19. Alexandre Denault Computer Science McGill University Winter 2004
Facade and Adapter Comp-303 : Programming Techniques Lecture 19 Alexandre Denault Computer Science McGill University Winter 2004 March 23, 2004 Lecture 19 Comp 303 : Facade and Adapter Page 1 Last lecture...
More informationThink of drawing/diagramming editors. ECE450 Software Engineering II. The problem. The Composite pattern
Think of drawing/diagramming editors ECE450 Software Engineering II Drawing/diagramming editors let users build complex diagrams out of simple components The user can group components to form larger components......which
More informationUNIT V *********************************************************************************************
Syllabus: 1 UNIT V 5. Package Diagram, Component Diagram, Deployment Diagram (08 Hrs, 16 Marks) Package Diagram: a. Terms and Concepts Names, Owned Elements, Visibility, Importing and Exporting b. Common
More informationDistributed Algorithms 6.046J, Spring, Nancy Lynch
Distributed Algorithms 6.046J, Spring, 205 Nancy Lynch What are Distributed Algorithms? Algorithms that run on networked processors, or on multiprocessors that share memory. They solve many kinds of problems:
More informationTHE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER
THE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER Akhil Kumar and Michael Stonebraker EECS Department University of California Berkeley, Ca., 94720 Abstract A heuristic query optimizer must choose
More informationGraph Similarity for Data Mining Lot 6 of Data Analytics FY17/18
Graph Similarity for Data Mining Lot 6 of Data Analytics FY17/18 Meeting Presentation Peter Rodgers Algorithms for the Comparison of Graphs Graph Isomorphism Graph Edit Distance Various Others Used in
More informationEINDHOVEN UNIVERSITY OF TECHNOLOGY
EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics & Computer Science Exam Programming Methods, 2IP15, Wednesday 17 April 2013, 09:00 12:00 TU/e THIS IS THE EXAMINER S COPY WITH (POSSIBLY INCOMPLETE)
More informationObject-oriented Software Design Patterns
Object-oriented Software Design Patterns Concepts and Examples Marcelo Vinícius Cysneiros Aragão marcelovca90@inatel.br Topics What are design patterns? Benefits of using design patterns Categories and
More informationParallelization of Graph Isomorphism using OpenMP
Parallelization of Graph Isomorphism using OpenMP Vijaya Balpande Research Scholar GHRCE, Nagpur Priyadarshini J L College of Engineering, Nagpur ABSTRACT Advancement in computer architecture leads to
More informationA Scalable Parallel HITS Algorithm for Page Ranking
A Scalable Parallel HITS Algorithm for Page Ranking Matthew Bennett, Julie Stone, Chaoyang Zhang School of Computing. University of Southern Mississippi. Hattiesburg, MS 39406 matthew.bennett@usm.edu,
More informationCS6200 Information Retreival. The WebGraph. July 13, 2015
CS6200 Information Retreival The WebGraph The WebGraph July 13, 2015 1 Web Graph: pages and links The WebGraph describes the directed links between pages of the World Wide Web. A directed edge connects
More informationGoals of design. satisfies problem requirements, usable error free, resistant to incorrect input. readable, not purposefully cryptic.
OOP design revisited design revisited 1 Goals of design usable software robust implementable understandable reusable generalizable extendable solves the problem, satisfies problem requirements, usable
More informationCOMP 4601 Hubs and Authorities
COMP 4601 Hubs and Authorities 1 Motivation PageRank gives a way to compute the value of a page given its position and connectivity w.r.t. the rest of the Web. Is it the only algorithm: No! It s just one
More informationHyperlink-Induced Topic Search (HITS) over Wikipedia Articles using Apache Spark
Hyperlink-Induced Topic Search (HITS) over Wikipedia Articles using Apache Spark Due: Sept. 27 Wednesday 5:00PM Submission: via Canvas, individual submission Instructor: Sangmi Lee Pallickara Web page:
More informationWhat is a Pattern? Lecture 40: Design Patterns. Elements of Design Patterns. What are design patterns?
What is a Pattern? Lecture 40: Design Patterns CS 62 Fall 2017 Kim Bruce & Alexandra Papoutsaki "Each pattern describes a problem which occurs over and over again in our environment, and then describes
More informationGraph-Based Synopses for Relational Data. Alkis Polyzotis (UC Santa Cruz)
Graph-Based Synopses for Relational Data Alkis Polyzotis (UC Santa Cruz) Data Synopses Data Query Result Data Synopsis Query Approximate Result Problem: exact answer may be too costly to compute Examples:
More informationResearch Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003
Research Incubator: Combinatorial Optimization Dr. Lixin Tao December 9, 23 Content General Nature of Research on Combinatorial Optimization Problem Identification and Abstraction Problem Properties and
More informationEuropean Journal of Science and Engineering Vol. 1, Issue 1, 2013 ADAPTIVE NEURO-FUZZY INFERENCE SYSTEM IDENTIFICATION OF AN INDUCTION MOTOR
ADAPTIVE NEURO-FUZZY INFERENCE SYSTEM IDENTIFICATION OF AN INDUCTION MOTOR Ahmed A. M. Emam College of Engineering Karrary University SUDAN ahmedimam1965@yahoo.co.in Eisa Bashier M. Tayeb College of Engineering
More informationObject Design II: Design Patterns
Object-Oriented Software Engineering Using UML, Patterns, and Java Object Design II: Design Patterns Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen A Game: Get-15 The game
More informationDesign Patterns V Structural Design Patterns, 2
Structural Design Patterns, 2 COMP2110/2510 Software Design Software Design for SE September 17, 2008 Department of Computer Science The Australian National University 19.1 1 2 Formal 3 Formal 4 Formal
More information6.001 Notes: Section 4.1
6.001 Notes: Section 4.1 Slide 4.1.1 In this lecture, we are going to take a careful look at the kinds of procedures we can build. We will first go back to look very carefully at the substitution model,
More informationParallel Processing: October, 5, 2010
Parallel Processing: Why, When, How? SimLab2010, Belgrade October, 5, 2010 Rodica Potolea Parallel Processing Why, When, How? Why? Problems too costly to be solved with the classical approach The need
More informationAn Introduction to Patterns
An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? - 1 Work on software development patterns stemmed from work on patterns from building architecture
More informationStudy Guide to Exam 2
YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE CPSC 427a: Object-Oriented Programming Handout #10 Professor M. J. Fischer November 27, 2011 Study Guide to Exam 2 This exam covers the entire course, but
More informationRecovering Traceability Links between Code and Documentation
Recovering Traceability Links between Code and Documentation Paper by: Giuliano Antoniol, Gerardo Canfora, Gerardo Casazza, Andrea De Lucia, and Ettore Merlo Presentation by: Brice Dobry and Geoff Gerfin
More informationSolutions to Math 381 Quiz 2
Solutions to Math 381 Quiz 2 November 7, 2018 (1) In one sentence, what is the goal of your class project? Each team has a different answer here. (2) Write a function in Python which computes a linear
More informationChapter 8, Design Patterns Visitor
Chapter 8, Design Patterns Visitor Using UML, Patterns, and Java Object-Oriented Software Engineering Pattern A Pattern Taxonomy Structural Pattern Behavioral Pattern Creational Pattern Composite Decorator
More informationcode pattern analysis of object-oriented programming languages
code pattern analysis of object-oriented programming languages by Xubo Miao A thesis submitted to the School of Computing in conformity with the requirements for the degree of Master of Science Queen s
More information1 Introduction. Abstract
An MVC-based Analysis of Object-Oriented System Prototyping for Banking Related GUI Applications Correlationship between OO Metrics and Efforts for Requirement Change Satoru Uehara, Osamu Mizuno, Yumi
More informationGenetic-Algorithm-Based Construction of Load-Balanced CDSs in Wireless Sensor Networks
Genetic-Algorithm-Based Construction of Load-Balanced CDSs in Wireless Sensor Networks Jing He, Shouling Ji, Mingyuan Yan, Yi Pan, and Yingshu Li Department of Computer Science Georgia State University,
More informationLecture 9: I: Web Retrieval II: Webology. Johan Bollen Old Dominion University Department of Computer Science
Lecture 9: I: Web Retrieval II: Webology Johan Bollen Old Dominion University Department of Computer Science jbollen@cs.odu.edu http://www.cs.odu.edu/ jbollen April 10, 2003 Page 1 WWW retrieval Two approaches
More informationClasses and Objects. Object Orientated Analysis and Design. Benjamin Kenwright
Classes and Objects Object Orientated Analysis and Design Benjamin Kenwright Outline Review Previous Weeks Object Model, Complexity,.. What do we mean by Classes and Objects? Summary/Discussion Review
More informationInteraction Design. Heuristic Evaluation & Cognitive Walkthrough
Interaction Design Heuristic Evaluation & Cognitive Walkthrough Interaction Design Iterative user centered design and development Requirements gathering Quick design Build prototype Evaluate and refine
More informationSemantic text features from small world graphs
Semantic text features from small world graphs Jurij Leskovec 1 and John Shawe-Taylor 2 1 Carnegie Mellon University, USA. Jozef Stefan Institute, Slovenia. jure@cs.cmu.edu 2 University of Southampton,UK
More informationPrelim 2. CS 2110, November 19, 2015, 7:30 PM Total. Sorting Invariants Max Score Grader
Prelim 2 CS 2110, November 19, 2015, 7:30 PM 1 2 3 4 5 6 Total Question True Short Complexity Searching Trees Graphs False Answer Sorting Invariants Max 20 15 13 14 17 21 100 Score Grader The exam is closed
More informationDesign Patterns. Dr. Rania Khairy. Software Engineering and Development Tool
Design Patterns What are Design Patterns? What are Design Patterns? Why Patterns? Canonical Cataloging Other Design Patterns Books: Freeman, Eric and Elisabeth Freeman with Kathy Sierra and Bert Bates.
More informationSemantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau
Semantic Web Ontology Pattern Gerd Gröner, Matthias Thimm {groener,thimm}@uni-koblenz.de Institute for Web Science and Technologies (WeST) University of Koblenz-Landau July 18, 2013 Gerd Gröner, Matthias
More informationSoftware Engineering Fall 2014
Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/03/2014 Re Cap - Object Design Close the gap between the application objects and the off-the shelf components.
More informationBandwidth Aware Routing Algorithms for Networks-on-Chip
1 Bandwidth Aware Routing Algorithms for Networks-on-Chip G. Longo a, S. Signorino a, M. Palesi a,, R. Holsmark b, S. Kumar b, and V. Catania a a Department of Computer Science and Telecommunications Engineering
More informationSurface Simplification Using Quadric Error Metrics
Surface Simplification Using Quadric Error Metrics Authors: Michael Garland & Paul Heckbert Presented by: Niu Xiaozhen Disclaimer: Some slides are modified from original slides, which were designed by
More informationTemplate Matching Rigid Motion
Template Matching Rigid Motion Find transformation to align two images. Focus on geometric features (not so much interesting with intensity images) Emphasis on tricks to make this efficient. Problem Definition
More informationResponsibilities. Using several specific design principles to guide OO design decisions.
Designing Objects with Responsibilities Using several specific design principles to guide OO design decisions. Challenge Old-school advice on OOD After identifying i your requirements and creating a domain
More informationProduced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar
Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More information