Software Visualization Applied S. Ducasse rmod.lille.inria.fr / stephane.ducasse.free.fr

Size: px
Start display at page:

Download "Software Visualization Applied S. Ducasse rmod.lille.inria.fr / stephane.ducasse.free.fr"

Transcription

1 Software Visualization Applied S. Ducasse rmod.lille.inria.fr / stephane.ducasse.free.fr

2

3 Working on more than program visualization... Code analysis Software metrics Quality model Dynamic analysis Refactorings Software remodularisation Cycle and layer identification Tool building Rules Changes characterisation Architecture extraction Mining software repositories Support for Merging Traits: orthogonal inheritance Modules Class extension scoping Program isolation Component model Reflective programming

4 1946

5 How large is your project? lines of code * 2 = seconds / 3600 = 560 hours / 8 = 70 days / 20 = 3 months 5

6 Where are located the classes containing most of the bugs? 6

7 One picture is worth one thousand words Which one? How could it be that simple? 7

8 Program visualization is difficult Limited number of colors: 12 Blur and color emergence Limited screen size Limited context, edges crossing Limited short-term memory (three to nine) Difficult to remember too many symbols/semantics Culture, Colorblind 8

9 Visualization principles in 3 min Preattentive visualization (unconscious < 200ms) Gestalt principles (from 1912) 70% of our sensors are dedicated to vision

10 How many 5?

11 How many 5?

12 Preattentive attributes Color intensity Form: orientation, line length, line width, size, shape, added marks, enclosure Spatial position (2D location) Motion (flicker) Tudor Gîrba 12

13 Color / intensity Tudor Gîrba 13

14 Position

15 Form / Orientation

16 Form / Line length

17 Form / Line width

18 Form / Size

19 Form / Shapes

20 Form / Added marks

21 Form / Enclosure

22 Context

23 Gestalt Principles of Visual Perception Back in 1912, from the Gestalt School of psychology Still stand today Gestalt means patterns How do we perceive pattern, form, and organization? Tudor Gîrba 23

24 Principle of Proximity

25 Principle of Similarity

26 Principle of Similarity

27 Principle of Enclosure

28 Principle of Enclosure

29 Principle of Closure

30 Principle of connectivity

31 Principle of connectivity

32 Our constraints Lot of existing and advanced solutions ICPC is full of them HEB Plenty of works on information visualization Simple but not simplistic Ideally, solutions that an engineer could reproduce in a couple of days 32

33 Understanding large systems Understanding code is difficult! Systems are large Code is abstract Should I really convinced you? Some existing approaches -Metrics: you often get meaningless results once combined -Visualization: often beautiful but with little meaning Polymetric view is an idea of M. Lanza [WCRE,TSE]

34 Polymetric views show up to 5 metrics. Width metric Lanza etal, 03 Height metric Position metrics Color metric

35 System Complexity shows class hierarchies. attributes methods lines

36 Polymetric views condense information To get a feel of the inheritance semantics: adding vs. reusing Classes+Inheritance W: # of Added Methods H: # of Overridden Methods C: # of Method Extended methods LOC # statements # parameters S.Ducasse 36 LSE

37 Understanding Classes: Easier? Public and non public methods No predefined reading order Inheritance Class blueprint is an idea of M. Lanza [OOPSLA]

38 Class Blueprint shows class internals. Ducasse, Lanza, 05 Initialize Interface Internal Accessor Attribute invocation and access direction

39 Class Blueprint shows class internals.

40

41

42

43 How properties spread on a system? Where author X worked? What are the classes under development the last two weeks? Distribution Map [ICSM]

44 We take any two partitions, and Packages Properties

45

46

47

48

49

50

51

52 How to understand changes Torch is the work of V. Uquillas-Gomez

53 How to understand changes Torch is the work of V. Uquillas-Gomez

54 How to understand changes Torch is the work of V. Uquillas-Gomez

55

56 Package Structure

57

58 Removing a feature (I) Removed Pen and PenPointRecorder 56

59 Introducing a feature Introduced PopupChoice / RequestDialog 57

60 Editing comments

61 Lessons learned Program visualization is difficult Squares and little symbols are just squares and little symbols Glancing at code is still efficient

62 Omnipresent code + visualization is excellent

63

Software Visualization. Mircea Lungu

Software Visualization. Mircea Lungu Software Visualization Mircea Lungu John Snow! The lines on the buildings are proportional to the number of deaths due to cholera from those buildings.! Do you know how did Snow realize which was the cause

More information

Visualizing and Characterizing the Evolution of Class Hierarchies

Visualizing and Characterizing the Evolution of Class Hierarchies Visualizing and Characterizing the Evolution of Class Hierarchies Tudor Gîrba and Michele Lanza Software Composition Group University of Berne Switzerland {girba, lanza}@iam.unibe.ch Abstract Analyzing

More information

Design Quality Assessment in Practice

Design Quality Assessment in Practice Design Quality Assessment in Practice my two hats... Radu Marinescu radum@cs.upt.ro Associate Professor since 006 Co-Founder and Head since 003 http://www.intooitus.com/ Co-Founder (008) Assessment with

More information

Step 10 Visualisation Carlos Moura

Step 10 Visualisation Carlos Moura Step 10 Visualisation Carlos Moura COIN 2017-15th JRC Annual Training on Composite Indicators & Scoreboards 06-08/11/2017, Ispra (IT) Effective communication through visualization Why investing on visual

More information

Information Visualization. Overview. What is Information Visualization? SMD157 Human-Computer Interaction Fall 2003

Information Visualization. Overview. What is Information Visualization? SMD157 Human-Computer Interaction Fall 2003 INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Information Visualization SMD157 Human-Computer Interaction Fall 2003 Dec-1-03 SMD157, Information Visualization 1 L Overview What is information

More information

Software Wartung und Evolution Modeling History with Metamodels. Harald Gall Institut für Informatik Universität Zürich

Software Wartung und Evolution Modeling History with Metamodels. Harald Gall Institut für Informatik Universität Zürich Software Wartung und Evolution Modeling with Metamodels Harald Gall Institut für Informatik Universität Zürich http://seal.ifi.unizh.ch Modeling to Understand Software Evolution 2007, Tudor Gîrba 13 27

More information

Visualizing Feature Interaction in 3-D

Visualizing Feature Interaction in 3-D Visualizing Feature Interaction in 3-D Orla Greevy 1, Michele Lanza 2 and Christoph Wysseier 1 1 Software Composition Group - University of Berne - Switzerland 2 Faculty of Informatics, University of Lugano

More information

CS 534: Computer Vision Segmentation and Perceptual Grouping

CS 534: Computer Vision Segmentation and Perceptual Grouping CS 534: Computer Vision Segmentation and Perceptual Grouping Spring 2005 Ahmed Elgammal Dept of Computer Science CS 534 Segmentation - 1 Where are we? Image Formation Human vision Cameras Geometric Camera

More information

Interactive Exploration of Semantic Clusters

Interactive Exploration of Semantic Clusters Interactive Exploration of Semantic Clusters In proceedings of the International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT 2005) Mircea Lungu 1, Adrian Kuhn 2, Tudor Gîrba

More information

Package Surface Blueprints: Visually Supporting the Understanding of Package Relationships

Package Surface Blueprints: Visually Supporting the Understanding of Package Relationships Package Surface Blueprints: Visually Supporting the Understanding of Package Relationships Accepted at ICSM 2007: International Conference on Software Maintenance Stéphane Ducasse Damien Pollet Mathieu

More information

Glyphs. Presentation Overview. What is a Glyph!? Cont. What is a Glyph!? Glyph Fundamentals. Goal of Paper. Presented by Bertrand Low

Glyphs. Presentation Overview. What is a Glyph!? Cont. What is a Glyph!? Glyph Fundamentals. Goal of Paper. Presented by Bertrand Low Presentation Overview Glyphs Presented by Bertrand Low A Taxonomy of Glyph Placement Strategies for Multidimensional Data Visualization Matthew O. Ward, Information Visualization Journal, Palmgrave,, Volume

More information

Software Metrics and Problem Detection

Software Metrics and Problem Detection Software Metrics and Problem Detection Oscar Nierstrasz Yuriy Tymchuk Selected material by Mircea Lungu Roadmap > Software Metrics Size / Complexity Metrics Quality Metrics > Metric-Based Problem Detection

More information

Some properties of our visual system. Designing visualisations. Gestalt principles

Some properties of our visual system. Designing visualisations. Gestalt principles Designing visualisations Visualisation should build both on the perceptual abilities of the human and the graphical conventions that have developed over time. Also the goal of the visualization should

More information

Visual Representation from Semiology of Graphics by J. Bertin

Visual Representation from Semiology of Graphics by J. Bertin Visual Representation from Semiology of Graphics by J. Bertin From a communication perspective Communication is too often taken for granted when it should be taken to pieces. (Fiske 91) Two basic schools

More information

Analysis of Image and Video Using Color, Texture and Shape Features for Object Identification

Analysis of Image and Video Using Color, Texture and Shape Features for Object Identification IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 16, Issue 6, Ver. VI (Nov Dec. 2014), PP 29-33 Analysis of Image and Video Using Color, Texture and Shape Features

More information

Topological Navigation and Path Planning

Topological Navigation and Path Planning Topological Navigation and Path Planning Topological Navigation and Path Planning Based upon points of interest E.g., landmarks Navigation is relational between points of interest E.g., Go past the corner

More information

A A B U n i v e r s i t y

A A B U n i v e r s i t y A A B U n i v e r s i t y Faculty of Computer Sciences O b j e c t O r i e n t e d P r o g r a m m i n g Week 10: I n h e r i t a n c e Asst. Prof. Dr. M entor Hamiti mentor.hamiti@universitetiaab.com

More information

Lecture 24 Software Visualization and Metrics Polymetric Views. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim

Lecture 24 Software Visualization and Metrics Polymetric Views. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim Lecture 24 Software Visualization and Metrics Polymetric Views Today s Agenda (1) Discussion on Practical Applications of Software Evolution Research Concern Graph Delta Debugging Regression Test Selection

More information

Which is better? Sentential. Diagrammatic Indexed by location in a plane

Which is better? Sentential. Diagrammatic Indexed by location in a plane Jeanette Bautista Perceptual enhancement: text or diagrams? Why a Diagram is (Sometimes) Worth Ten Thousand Words Larkin, J. and Simon, H.A Structural object perception: 2D or 3D? Diagrams based on structural

More information

ABOUT THIS COURSE... 3 ABOUT THIS MANUAL... 4 LESSON 1: MANAGING LISTS... 5

ABOUT THIS COURSE... 3 ABOUT THIS MANUAL... 4 LESSON 1: MANAGING LISTS... 5 Table of Contents ABOUT THIS COURSE... 3 ABOUT THIS MANUAL... 4 LESSON 1: MANAGING LISTS... 5 TOPIC 1A: SORT A LIST... 6 Sort a list in A-Z or Z-A Order... 6 TOPIC 1B: RENUMBER A LIST... 7 Renumber a List

More information

Topic 4 Image Segmentation

Topic 4 Image Segmentation Topic 4 Image Segmentation What is Segmentation? Why? Segmentation important contributing factor to the success of an automated image analysis process What is Image Analysis: Processing images to derive

More information

Restructuring. What is restructuring? Tudor Gîrba Reengineering life cycle. What? forward engineering. reverse engineering

Restructuring. What is restructuring? Tudor Gîrba   Reengineering life cycle. What? forward engineering. reverse engineering Restructuring Tudor Gîrba www.tudorgirba.com Reengineering life cycle Reengineering... is the examination and alteration of a subject system to reconstitute it in a new form and the subsequent implementation

More information

Churrasco: Supporting Collaborative Software Evolution Analysis

Churrasco: Supporting Collaborative Software Evolution Analysis Churrasco: Supporting Collaborative Software Evolution Analysis Marco D Ambros a, Michele Lanza a a REVEAL @ Faculty of Informatics - University of Lugano, Switzerland Abstract Analyzing the evolution

More information

Perceptual Organization and Visual Design

Perceptual Organization and Visual Design Perceptual Organization and Visual Design Heidi Lam January 20, 2003 Outline Perceptual Organization: Theory Gestalt Laws Transparency Summary 1 Perceptual Organization How all the bits and pieces of visual

More information

Normalized cuts and image segmentation

Normalized cuts and image segmentation Normalized cuts and image segmentation Department of EE University of Washington Yeping Su Xiaodan Song Normalized Cuts and Image Segmentation, IEEE Trans. PAMI, August 2000 5/20/2003 1 Outline 1. Image

More information

Marks. Marks can be classified according to the number of dimensions required for their representation: Zero: points. One: lines.

Marks. Marks can be classified according to the number of dimensions required for their representation: Zero: points. One: lines. Marks and channels Definitions Marks are basic geometric elements that depict items or links. Channels control the appearance of the marks. This way you can describe the design space of visual encodings

More information

Backpropagation in Neural Nets, and an Introduction to Vision. CSCI 5582, Fall 2007

Backpropagation in Neural Nets, and an Introduction to Vision. CSCI 5582, Fall 2007 Backpropagation in Neural Nets, and an Introduction to Vision CSCI 5582, Fall 2007 Assignments Problem Set 3 is due a week from today The Update Rule for a Weighted Edge of a Perceptron To update the weight

More information

InfoVis: a semiotic perspective

InfoVis: a semiotic perspective InfoVis: a semiotic perspective p based on Semiology of Graphics by J. Bertin Infovis is composed of Representation a mapping from raw data to a visible representation Presentation organizing this visible

More information

Visual Design. Simplicity, Gestalt Principles, Organization/Structure

Visual Design. Simplicity, Gestalt Principles, Organization/Structure Visual Design Simplicity, Gestalt Principles, Organization/Structure Many examples are from Universal Principles of Design, Lidwell, Holden, and Butler Why discuss visual design? You need to present the

More information

cs6630 September VISUAL ENCODING Miriah Meyer University of Utah

cs6630 September VISUAL ENCODING Miriah Meyer University of Utah cs6630 September 9 2014 VISUAL ENCODING Miriah Meyer University of Utah 1 administrivia... 2 - introducing Dr. Josh Levine 3 last time... 4 data abstraction the what part of an analysis that pertains to

More information

Separable Kernels and Edge Detection

Separable Kernels and Edge Detection Separable Kernels and Edge Detection CS1230 Disclaimer: For Filter, using separable kernels is optional. It makes your implementation faster, but if you can t get it to work, that s totally fine! Just

More information

Announcements. Image Segmentation. From images to objects. Extracting objects. Status reports next Thursday ~5min presentations in class

Announcements. Image Segmentation. From images to objects. Extracting objects. Status reports next Thursday ~5min presentations in class Image Segmentation Announcements Status reports next Thursday ~5min presentations in class Project voting From Sandlot Science Today s Readings Forsyth & Ponce, Chapter 1 (plus lots of optional references

More information

Segmentation and Grouping

Segmentation and Grouping Segmentation and Grouping How and what do we see? Fundamental Problems ' Focus of attention, or grouping ' What subsets of pixels do we consider as possible objects? ' All connected subsets? ' Representation

More information

Expanding Automated Test and Re-Engineering Old Processes

Expanding Automated Test and Re-Engineering Old Processes Expanding Automated Test and Re-Engineering Old Processes Eric Greene and Jim Knuff Raytheon Missile Systems September 19 th, 2012 Copyright 2011 Raytheon Company. All rights reserved. Customer Success

More information

Graph Based Image Segmentation

Graph Based Image Segmentation Graph Based Image Segmentation Sandeep Chalasani Department of Electrical & Computer Engineering Clemson University schalas@clemson.edu Abstract Segmentation of images into regions for measurement or recognition

More information

Neural Nets. CSCI 5582, Fall 2007

Neural Nets. CSCI 5582, Fall 2007 Neural Nets CSCI 5582, Fall 2007 Assignments For this week: Chapter 20, section 5 Problem Set 3 is due a week from today Neural Networks: Some First Concepts Each neural element is loosely based on the

More information

Managing Exceptions in a SOA world

Managing Exceptions in a SOA world Managing Exceptions in a SOA world Author: Ramesh Ranganathan Page 1 of 6 Table of Contents 1. Introduction 3 2. SOA Exception Management challenges 3 3. Conclusion 6 Page 2 of 6 1. Introduction Exception

More information

How and what do we see? Segmentation and Grouping. Fundamental Problems. Polyhedral objects. Reducing the combinatorics of pose estimation

How and what do we see? Segmentation and Grouping. Fundamental Problems. Polyhedral objects. Reducing the combinatorics of pose estimation Segmentation and Grouping Fundamental Problems ' Focus of attention, or grouping ' What subsets of piels do we consider as possible objects? ' All connected subsets? ' Representation ' How do we model

More information

Grouping and Segmentation

Grouping and Segmentation 03/17/15 Grouping and Segmentation Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem Today s class Segmentation and grouping Gestalt cues By clustering (mean-shift) By boundaries (watershed)

More information

Lecture 21. Regression Testing Path Spectra. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim

Lecture 21. Regression Testing Path Spectra. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim Lecture 21 Regression Testing Path Spectra Today s Agenda (1) Regression Test Selection Path Spectra Presentation by David (skeptic) Presentation by Sidd (advocate) Presentation by Srinivas (skeptic) Today

More information

CS 534: Computer Vision Segmentation and Perceptual Grouping

CS 534: Computer Vision Segmentation and Perceptual Grouping CS 534: Computer Vision Segmentation and Perceptual Grouping Ahmed Elgammal Dept of Computer Science CS 534 Segmentation - 1 Outlines Mid-level vision What is segmentation Perceptual Grouping Segmentation

More information

WEB DEVELOPER BLUEPRINT

WEB DEVELOPER BLUEPRINT WEB DEVELOPER BLUEPRINT HAVE A QUESTION? ASK! Read up on all the ways you can get help. CONFUSION IS GOOD :) Seriously, it s scientific fact. Read all about it! REMEMBER, YOU ARE NOT ALONE! Join your Skillcrush

More information

TABLE OF CONTENTS. Worksheets Lesson 1 Worksheet Introduction to Geometry 41 Lesson 2 Worksheet Naming Plane and Solid Shapes.. 44

TABLE OF CONTENTS. Worksheets Lesson 1 Worksheet Introduction to Geometry 41 Lesson 2 Worksheet Naming Plane and Solid Shapes.. 44 Acknowledgement: A+ TutorSoft would like to thank all the individuals who helped research, write, develop, edit, and launch our MATH Curriculum products. Countless weeks, years, and months have been devoted

More information

Enabling industry 4.0 Event-driven architectures and smart micro services

Enabling industry 4.0 Event-driven architectures and smart micro services Enabling industry 4.0 Event-driven architectures and smart micro services Dr., Systems and control, Chalmers Chalmers, Automation +46 (0)768 979561 Kristofer.bengtsson@chalmers.se The key to industry 4.0

More information

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University

Metrics 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 information

Software Design. Levels in Design Process. Design Methodologies. Levels..

Software Design. Levels in Design Process. Design Methodologies. Levels.. Design Software Design Design activity begins with a set of requirements Design done before the system is implemented Design is the intermediate language between requirements and code Moving from problem

More information

MPM 1DI Unit 8. Optimization

MPM 1DI Unit 8. Optimization RECALL: MPM 1DI Unit 8 Optimization Day 2: Optimization of Square Based Prisms Last class we looked at a) how to opmize (maximize) the area of a rectangle with a given perimeter & b) how to opmize (minimize)

More information

Multi-level Method Understanding Using Microprints

Multi-level Method Understanding Using Microprints Multi-level Method Understanding Using Microprints Stéphane Ducasse LSE-LISTIC Université de Savoie, France SCG University of Bern, Switzerland Romain Robbes Faculty of Informatics University of Lugano,

More information

Segmentation and Grouping

Segmentation and Grouping 02/23/10 Segmentation and Grouping Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem Last week Clustering EM Today s class More on EM Segmentation and grouping Gestalt cues By boundaries

More information

DOWNLOAD PDF ABSOLUTE BEGINNERS GUIDE TO MICROSOFT OFFICE ONENOTE 2003 (ABSOLUTE BEGINNERS GUIDE)

DOWNLOAD PDF ABSOLUTE BEGINNERS GUIDE TO MICROSOFT OFFICE ONENOTE 2003 (ABSOLUTE BEGINNERS GUIDE) Chapter 1 : Absolute Beginner's Guide to Microsoft Office OneNoteâ [Book] Absolute Beginner's Guide to Microsoft Office OneNote is a from-scratch reference that helps you get up to speed quickly on this

More information

Pro Version. Note the new Log Status box.

Pro Version. Note the new Log Status box. Some time ago I wrote an article about CPUID s wonderful tool, HWMonitor. Today I want to follow up on that and give a few tips on how to make it a more useful tool. Firstly, HWMonitor is a free tool.

More information

Data Visualization Principles for Scientific Communication

Data Visualization Principles for Scientific Communication Data Visualization Principles for Scientific Communication 8-888 Introduction to Linguistic Data Analysis Using R Jerzy Wieczorek 11//15 Follow along These slides and a summary checklist are at http://www.stat.cmu.edu/~jwieczor/

More information

Data Visualization Principles for Dashboard Design

Data Visualization Principles for Dashboard Design Data Visualization Principles for Dashboard Design Olin College, Data Dashboard Design Jerzy Wieczorek 11/10/15 1 / 70 Follow along These slides and a summary checklist are at http://www.stat.cmu.edu/~jwieczor/

More information

Master report. Package Blueprints. Visualisation de packages. Mathieu Suen

Master report. Package Blueprints. Visualisation de packages. Mathieu Suen Laboratory LISTIC Université de Savoie Advisors Stéphane Ducasse, Vincent Chauvet Master report Package Blueprints Visualisation de packages Mathieu Suen 2006-2007 Keywords. Object-oriented programming,

More information

CS 1124 Media Computation. Steve Harrison Lecture 1.2 (August 27, 2008)

CS 1124 Media Computation. Steve Harrison Lecture 1.2 (August 27, 2008) CS 1124 Media Computation Steve Harrison Lecture 1.2 (August 27, 2008) Today Computer science Look at Jython Look at some cool image things Pixels Why study CS? What is computer science about? What do

More information

Volume of a Cube and Rectangular Prism

Volume of a Cube and Rectangular Prism Distance Education for Elementary Schools Self- Instructional Materials Volume of a Cube and Rectangular Prism Skill: Department of Education BUREAU OF ELEMENTARY EDUCATION 2 ND Floor Bonifacio, Building

More information

Lesson 6-5: Transforms of Graphs of Functions

Lesson 6-5: Transforms of Graphs of Functions There s an old saying that says a picture is worth a thousand words. I d like to propose a slight modification: a picture is worth a thousand numbers. Anyone who plays with data looks for a way to visualize

More information

Automatic visual recognition for metro surveillance

Automatic visual recognition for metro surveillance Automatic visual recognition for metro surveillance F. Cupillard, M. Thonnat, F. Brémond Orion Research Group, INRIA, Sophia Antipolis, France Abstract We propose in this paper an approach for recognizing

More information

Software Modeling and Analysis. 1. Introduction. Oscar Nierstrasz. Documentation. Extract. Analyze. Process data. Software model.

Software Modeling and Analysis. 1. Introduction. Oscar Nierstrasz. Documentation. Extract. Analyze. Process data. Software model. Software Modeling and Analysis 1. Introduction Oscar Nierstrasz Documentation Process data Extract Software model Analyze Programs Run-time data Reports Instrument Roadmap > Overview > Laws of Software

More information

ARiSA First Contact Analysis

ARiSA First Contact Analysis ARiSA First Contact Analysis Applied Research In System Analysis - ARiSA You cannot control what you cannot measure Tom DeMarco Software Grail Version 1.3 Programming Language Java 1.4 Date 2 nd of December,

More information

XP: Planning, coding and testing. Planning. Release planning. Release Planning. User stories. Release planning Step 1.

XP: Planning, coding and testing. Planning. Release planning. Release Planning. User stories. Release planning Step 1. XP: Planning, coding and testing Annika Silvervarg Planning XP planning addresses two key questions in software development: predicting what will be accomplished by the due date determining what to do

More information

Shaw Academy Lifetime Membership. Winner will be announced at the end of the lesson

Shaw Academy Lifetime Membership. Winner will be announced at the end of the lesson Shaw Academy Lifetime Membership Winner will be announced at the end of the lesson FOUNDATION IN GRAPHIC DESIGN with ADOBE APPLICATIONS CAN YOU ALL HEAR ME? LESSON 8 Graphic Design for Web ELEMENTS LINE

More information

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur Pyramids Gaussian pre-filtering Solution: filter the image, then subsample blur F 0 subsample blur subsample * F 0 H F 1 F 1 * H F 2 { Gaussian pyramid blur F 0 subsample blur subsample * F 0 H F 1 F 1

More information

and a 3D-scanner. The laser generator continues to generate one khz pulse laser, while the 3D-scanner controls the direction of the laser beam and the

and a 3D-scanner. The laser generator continues to generate one khz pulse laser, while the 3D-scanner controls the direction of the laser beam and the ASIAGRAPH 2009 PROCEEDINGS Billboard representation for Laser-Plasma Scanning 3D Display Hiroyo Ishikawa 1 /Graduate School of Science and Technology, Keio University, Hideo Saito 2 / Department of Information

More information

PARALLEL AND DISTRIBUTED PLATFORM FOR PLUG-AND-PLAY AGENT-BASED SIMULATIONS. Wentong CAI

PARALLEL AND DISTRIBUTED PLATFORM FOR PLUG-AND-PLAY AGENT-BASED SIMULATIONS. Wentong CAI PARALLEL AND DISTRIBUTED PLATFORM FOR PLUG-AND-PLAY AGENT-BASED SIMULATIONS Wentong CAI Parallel & Distributed Computing Centre School of Computer Engineering Nanyang Technological University Singapore

More information

Refactorings. Refactoring. Refactoring Strategy. Demonstration: Refactoring and Reverse Engineering. Conclusion

Refactorings. Refactoring. Refactoring Strategy. Demonstration: Refactoring and Reverse Engineering. Conclusion Refactorings Refactoring What is it? Why is it necessary? Examples Tool support Refactoring Strategy Code Smells Examples of Cure Demonstration: Refactoring and Reverse Engineering Refactor to Understand

More information

An introduction to Headless Content Management Systems

An introduction to Headless Content Management Systems WHITEPAPER An introduction to Headless Content Management Systems John Winter, Co-Founder, Content Bloom Introduction Surfing web content used to be limited to desktop computers. This has drastically changed

More information

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs Cesar Couto, Pedro Pires, Marco Tulio Valente, Roberto Bigonha, Andre Hora, Nicolas Anquetil To cite this version: Cesar

More information

Microprints: A Pixel-based Semantically Rich Visualization of Methods

Microprints: A Pixel-based Semantically Rich Visualization of Methods Microprints: A Pixel-based Semantically Rich Visualization of Methods Romain Robbes Universitá della Svizzerra Italiana, Faculty of Informatics, Lugano, Switzerland Stéphane Ducasse University of Bern,

More information

Repurposing Your Podcast. 3 Places Your Podcast Must Be To Maximize Your Reach (And How To Use Each Effectively)

Repurposing Your Podcast. 3 Places Your Podcast Must Be To Maximize Your Reach (And How To Use Each Effectively) Repurposing Your Podcast 3 Places Your Podcast Must Be To Maximize Your Reach (And How To Use Each Effectively) What You ll Learn What 3 Channels (Besides itunes and Stitcher) Your Podcast Should Be On

More information

Sommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof.

Sommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof. Sommerville Chapter 6 The High-Level Structure of a Software Intensive System Architectural Design Slides courtesy Prof.Mats Heimdahl 1 Fall 2 2013 Architectural Parallels Architects are the technical

More information

Oracle JDeveloper/Oracle ADF 11g Production Project Experience

Oracle JDeveloper/Oracle ADF 11g Production Project Experience Oracle JDeveloper/Oracle ADF 11g Production Project Experience Andrejus Baranovskis Independent Oracle Consultant Red Samurai Consulting Oracle ACE Director Outline Project Reference Sample Development

More information

Test Driven Development. René Barto SES Agile Development - Test Driven Development

Test Driven Development. René Barto SES Agile Development - Test Driven Development Test Driven Development René Barto SES Agile Development - Test Driven Development 27-09-2006 Contents About Myself About SES Agile Development A Typical Developer s Day Test Driven Development Questions

More information

Finding the Volume of Solids

Finding the Volume of Solids S E S S I O N 1. 5 A Finding the Volume of Solids Math Focus Points Using formulas to find the volume of rectangular prisms Finding the volume of a solid composed of two rectangular prisms Today s Plan

More information

Establishing the overall structure of a software system

Establishing the overall structure of a software system Architectural Design Establishing the overall structure of a software system Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13 Slide 1 Objectives To introduce architectural design and

More information

Example Videos. Administrative 2/1/2012. Comp/Phys/Mtsc 715. Pre-Attentive Characteristics: Information that Pops Out

Example Videos. Administrative 2/1/2012. Comp/Phys/Mtsc 715. Pre-Attentive Characteristics: Information that Pops Out Comp/Phys/Mtsc 715 Pre-Attentive Characteristics: Information that Pops Out 1 Example Videos Linked feature-map and 3D views for DTMRI Parallel Coordinates, slice, 3D for Astro-Jet Vis 2011: Waser: Ensemble

More information

Lecture 10: Semantic Segmentation and Clustering

Lecture 10: Semantic Segmentation and Clustering Lecture 10: Semantic Segmentation and Clustering Vineet Kosaraju, Davy Ragland, Adrien Truong, Effie Nehoran, Maneekwan Toyungyernsub Department of Computer Science Stanford University Stanford, CA 94305

More information

Resolving cyclic dependencies between packages with Enriched Dependency Structural Matrix

Resolving cyclic dependencies between packages with Enriched Dependency Structural Matrix SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 0000; 00: 4 Published online in Wiley InterScience (www.interscience.wiley.com). Resolving cyclic dependencies between packages with Enriched Dependency

More information

Sample: Do Not Reproduce QUAD4 STUDENT PAGES. QUADRATIC FUNCTIONS AND EQUATIONS Student Pages for Packet 4: Quadratic Functions and Applications

Sample: Do Not Reproduce QUAD4 STUDENT PAGES. QUADRATIC FUNCTIONS AND EQUATIONS Student Pages for Packet 4: Quadratic Functions and Applications Name Period Date QUADRATIC FUNCTIONS AND EQUATIONS Student Pages for Packet 4: Quadratic Functions and Applications QUAD 4.1 Vertex Form of a Quadratic Function 1 Explore how changing the values of h and

More information

Identifying cycle causes with Enriched Dependency Structural Matrix

Identifying cycle causes with Enriched Dependency Structural Matrix Identifying cycle causes with Enriched ependency Structural Matrix Jannik Laval 1, Simon enier 1, Stéphane ucasse 1, Alexandre Bergel 2 1 RMo Team, INRIA - Lille Nord Europe USTL - CNRS UMR 8022, Lille,

More information

Welcome Back! Without further delay, let s get started! First Things First. If you haven t done it already, download Turbo Lister from ebay.

Welcome Back! Without further delay, let s get started! First Things First. If you haven t done it already, download Turbo Lister from ebay. Welcome Back! Now that we ve covered the basics on how to use templates and how to customise them, it s time to learn some more advanced techniques that will help you create outstanding ebay listings!

More information

Test Factoring: Focusing test suites on the task at hand

Test Factoring: Focusing test suites on the task at hand Test Factoring: Focusing test suites on the task at hand, MIT ASE 2005 1 The problem: large, general system tests My test suite One hour Where I changed code Where I broke code How can I get: Quicker feedback?

More information

Grade 6 Math Circles. Spatial and Visual Thinking

Grade 6 Math Circles. Spatial and Visual Thinking Faculty of Mathematics Waterloo, Ontario N2L 3G1 Introduction Grade 6 Math Circles October 31/November 1, 2017 Spatial and Visual Thinking Centre for Education in Mathematics and Computing One very important

More information

Distributed and Collaborative Software Evolution Analysis with Churrasco

Distributed and Collaborative Software Evolution Analysis with Churrasco Distributed and Collaborative Software Evolution Analysis with Churrasco Marco D Ambros a, Michele Lanza a a REVEAL @ Faculty of Informatics - University of Lugano, Switzerland Abstract Analyzing the evolution

More information

Does the Brain do Inverse Graphics?

Does the Brain do Inverse Graphics? Does the Brain do Inverse Graphics? Geoffrey Hinton, Alex Krizhevsky, Navdeep Jaitly, Tijmen Tieleman & Yichuan Tang Department of Computer Science University of Toronto How to learn many layers of features

More information

14 - Multiple Files and Folders Dragging and dropping File name collisions revisited

14 - Multiple Files and Folders Dragging and dropping File name collisions revisited 14 - Multiple Files and Folders In the last lesson, we saw how to use the context menu or the ribbon to copy and move files on our hard drive. In this lesson, we will review and build on those skills as

More information

Insights into System Wide Code Duplication WCRE 2004

Insights into System Wide Code Duplication WCRE 2004 Insights into System Wide Code Duplication Matthias Rieger, Stéphane Ducasse, and Michele Lanza Software Composition Group University of Bern, Switzerland {rieger,ducasse,lanza}@iam.unibe.ch WCRE 2004

More information

Graded Project. Microsoft Excel

Graded Project. Microsoft Excel Graded Project Microsoft Excel INTRODUCTION 1 PROJECT SCENARIO 1 CREATING THE WORKSHEET 2 GRAPHING YOUR RESULTS 4 INSPECTING YOUR COMPLETED FILE 6 PREPARING YOUR FILE FOR SUBMISSION 6 Contents iii Microsoft

More information

Processing. Data Visualization Programming Language. By Rutvi Joshi. Processing Visualization Language- By Rutvi Joshi

Processing. Data Visualization Programming Language. By Rutvi Joshi. Processing Visualization Language- By Rutvi Joshi Processing Data Visualization Programming Language What is Processing? A Graphical Sketch Book and Environment, to graphically teach the fundamentals of computer science But it has evolved into a tool

More information

Example Videos. Administrative 2/3/2014. Comp/Phys/Apsc 715. Pre-Attentive Characteristics: Information that Pops Out

Example Videos. Administrative 2/3/2014. Comp/Phys/Apsc 715. Pre-Attentive Characteristics: Information that Pops Out Comp/Phys/Apsc 715 Pre-Attentive Characteristics: Information that Pops Out 1 Example Videos Linked feature-map and 3D views for DTMRI Parallel Coordinates, slice, 3D for Astro-Jet Vis 2011: Waser: Ensemble

More information

Three Dimensional Figures. TeacherTwins 2015

Three Dimensional Figures. TeacherTwins 2015 Three Dimensional Figures TeacherTwins 2015 Warm Up What is a 2 dimensional figure? What is a three dimensional figure? Draw a picture of each. Using the nets provided, make the following three dimensional

More information

Chapter 2: Polynomial and Rational Functions Power Standard #7

Chapter 2: Polynomial and Rational Functions Power Standard #7 Chapter 2: Polynomial and Rational s Power Standard #7 2.1 Quadratic s Lets glance at the finals. Learning Objective: In this lesson you learned how to sketch and analyze graphs of quadratic functions.

More information

Course 7. Reusability, interoperability. S. Motogna - Software Quality

Course 7. Reusability, interoperability. S. Motogna - Software Quality Course 7 Reusability, interoperability Reusability Reusability Definition: Extent to which a program can be used in other applications - related to the packaging and scope of the functions that programs

More information

CMP 477 Computer Graphics Module 2: Graphics Systems Output and Input Devices. Dr. S.A. Arekete Redeemer s University, Ede

CMP 477 Computer Graphics Module 2: Graphics Systems Output and Input Devices. Dr. S.A. Arekete Redeemer s University, Ede CMP 477 Computer Graphics Module 2: Graphics Systems Output and Input Devices Dr. S.A. Arekete Redeemer s University, Ede Introduction The widespread recognition of the power and utility of computer graphics

More information

TRIBOMETERS MICRO-MACRO TRIBOLOGY TESTING

TRIBOMETERS MICRO-MACRO TRIBOLOGY TESTING TRIBOMETERS MICRO-MACRO TRIBOLOGY TESTING The Tribometer provides highly accurate and repeatable wear friction testing in rotative and linear modes compliant to ISO and ASTM standards. Designed, at the

More information

Surfaces. Science B44. Lecture 11 Surfaces. Surfaces. 1. What problem do surfaces solve? 2. How are surfaces discovered

Surfaces. Science B44. Lecture 11 Surfaces. Surfaces. 1. What problem do surfaces solve? 2. How are surfaces discovered Science B44 Lecture 11 Surfaces Surfaces 1. What problem do surfaces solve 2. How are surfaces discovered, grouping 3. Modal and amodal completion 4. Border ownership and figure-ground 5. Top-down help

More information

Software Design & Evolution. Lecture 04. You cannot control what you cannot measure. Metrics & Problem Detection. Michele Lanza

Software Design & Evolution. Lecture 04. You cannot control what you cannot measure. Metrics & Problem Detection. Michele Lanza Software Design & Evolution Lecture 04 Michele Lanza Metrics & Problem Detection Metrics? Don t trust them Michele Lanza & Radu Marinescu Object-Oriented Metrics in Practice Using Software Metrics to Characterize,

More information

Visually Supporting Source Code Changes Integration: the Torch Dashboard

Visually Supporting Source Code Changes Integration: the Torch Dashboard Visually Supporting Source Code Changes Integration: the Torch Dashboard Verónica Uquillas-Gomez, Stéphane Ducasse, Theo D Hondt To cite this version: Verónica Uquillas-Gomez, Stéphane Ducasse, Theo D

More information

A software modularity metric Joost Zonneveld Bram Schoenmakers

A software modularity metric Joost Zonneveld Bram Schoenmakers A software modularity metric Joost Zonneveld Bram Schoenmakers 2016-02-02 ASML In 40 Seconds Slide 2 New devices, new applications Slide 3 Wearable sensors (Holst Centre) Imaging drone to monitor crop

More information

Enhanced Dependency Structure Matrix

Enhanced Dependency Structure Matrix Ecole Nationale Supérieure des Ingénieurs des Etudes et Techniques d rmement (ENSIET) Final year project Enhanced Dependency Structure Matrix Institut National de Recherche en Informatique et utomatique

More information