Software Wartung und Evolution Modeling History with Metamodels. Harald Gall Institut für Informatik Universität Zürich
|
|
- Sabrina Simpson
- 6 years ago
- Views:
Transcription
1 Software Wartung und Evolution Modeling with Metamodels Harald Gall Institut für Informatik Universität Zürich
2 Modeling to Understand Software Evolution 2007, Tudor Gîrba
3 Context: Reverse engineering is creating high level views of the system Requirements Analysis Design Time Implementation Tudor Gîrba 3/47
4 Context: holds useful information for reverse engineering The doctor always looks at my health file Historical information is useful but, it is hidden among huge amounts of data n N versions means N times more data The more data the more techniques are needed to analyze it Tudor Gîrba 4/47
5 Context: Many techniques were developed Trend analysis [Lehman et al. 01] Evolution patterns [Lanza, Ducasse 02] Co-change analysis [Gall etal. 03] Authors analysis [Eick et al. 02] Tudor Gîrba 5/47
6 Problem: Current approaches rely on ad-hoc models or on too specific meta-models Trend analysis [Lehman etal. 01] Evolution patterns [Lanza, Ducasse 02] Research question: How can we build a generic meta-model? Co-change analysis [Gall etal. 03] Authors analysis [Eick etal. 02] Tudor Gîrba 6/47
7 Overview Hismo Hismo: Modeling Applications Historical measurements Yesterday s Weather -based Detection Strategies Hierarchy evolution Co-change patterns Ownership Map Tudor Gîrba 7/47
8 Example: Evolution Matrix reveals different evolution patterns [Lanza, Ducasse 02] Pulsar Class Idle Class Thesis: NOM Polymetric view White Dwarf Class Supernova Class Evolution needs to be modeled as a first class entity Class NOA versions Tudor Gîrba 8/47
9 Solution: encapsulates and characterizes the evolution Pulsar Class Idle Class Class White Dwarf Class ispulsar isidle Supernova Class versions Tudor Gîrba 9/47
10 Hismo: The history meta-model System System Class Class Tudor Gîrba 10/47
11 but, what about relationships? System System Inheritance Inheritance Class Class Tudor Gîrba 11/47
12 Hismo is obtained by transforming the structural meta-model Tudor Gîrba 12/47
13 Overview Application: measurements Hismo Applications Historical measurements Yesterday s Weather -based Detection Strategies Hierarchy evolution Co-change patterns Ownership Map Tudor Gîrba 13/47
14 Problem: holds useful information hidden among large amounts of data How much was a class changed? When was a class changed? Tudor Gîrba 14/47
15 can be measured: How much was a class changed? Evolution of Number of Methods n ENOM(C)= NOM i (C)-NOM i-1 (C) i=2 ENOM(C)= = Tudor Gîrba 15/47
16 can be measured: When was a class changed? Latest Evolution of Number of Methods Earliest Evolution of Number of Methods n LENOM(C)= NOM i (C)-NOM i-1 (C) 2 i - n i=2 n EENOM(C)= i=2 NOM i (C)-NOM i-1 (C) i LENOM(C)= = EENOM(C)= = Tudor Gîrba 16/47
17 measurements compress aspects of the evolution into numbers ENOM LENOM EENOM A B C D E Tudor Gîrba 17/47
18 measurements compress aspects of the evolution into numbers ENOM LENOM EENOM A Balanced changer B Late changer C D Dead stable E Early changer Tudor Gîrba 18/47
19 Many measurements can be defined at different levels of abstraction Evolution Latest/Earliest Evolution Stability Historical Max/Min Historical Average Growth Trend of Number of Methods Number of Statements Cyclomatic Complexity Lines of Code Number of Classes Number of modules But measurements are a means not a goal Tudor Gîrba 19/47
20 Overview Application: Yesterday s Weather Hismo Applications Historical measurements Yesterday s Weather -based Detection Strategies Hierarchy evolution Co-change patterns Ownership Map Tudor Gîrba 20/47
21 Common Wisdom: The recently changed parts are likely to change in the near future Is the common wisdom relevant? [Mens,Demeyer 01] Yesterday s Weather metaphor: It expresses the chances of having the same weather today as we had yesterday It is location specific Switzerland - 30% Sahara - 90% Tudor Gîrba 21/47
22 Yesterday s Weather: For each given version we check the common wisdom Past Late Changers Future Early Changers YesterdayWeatherHit(present): past:=histories.toplenom(start, present) future:=histories.topeenom(present, end) past.intersectwith(future).notempty() hit Past versions Present version Future versions Tudor Gîrba 22/47
23 Overall Yesterday s Weather shows the localization of changes in time hit hit hit hit hit hit hit hit hit hit YW = 3 hits 8 possible hits = 37% YW = 7 hits 8 possible hits = 87% Case studies: 40 versions of CodeCrawler (180 classes): 100% 40 versions of Jun (700 classes): 79% 40 versions of Jboss (4000 classes): 53% Tudor Gîrba 23/47
24 Overview Application: -based Detection Strategies Hismo Applications Historical measurements Yesterday s Weather -based Detection Strategies Hierarchy evolution Co-change patterns Ownership Map Tudor Gîrba 24/47
25 Context: Detection Strategies detect design flaws based on measurements [Marinescu 04] Example: God Class Maintainability problem because it encapsulates a lot of knowledge Class ATFD > 40 Class WMC > 75 Class TCC < 0.2 Class NOA > 20 AND AND OR God Class Tudor Gîrba 25/47
26 -based Detection Strategies take evolution into account Example: a Stable God Class is not necessarily a bad one Last God Class Stability > 95% AND Stable God Class Case study: 5 out of 24 God Classes in Jun were stable and harmless Tudor Gîrba 26/47
27 Overview Application: Characterizing the evolution of class hierarchies Hismo Applications Historical measurements Yesterday s Weather -based Detection Strategies Hierarchy evolution Co-change patterns Ownership Map Tudor Gîrba 27/47
28 Context: Given the evolution of a hierarchy A A A A A B C B C B C B B D D D E time A is persistent B is stable C was removed E is newborn D inherited from C and then from A Tudor Gîrba 28/47
29 but useful information is hidden among large amounts of data How were the hierarchies evolved? Tudor Gîrba 29/47
30 Hierarchy Evolution Complexity View characterizes class hierarchy histories ENOM C A B ENOS Age Removed Class D E Age Removed Inheritance A is persistent B is stable C was removed E is newborn D inherited from C and then from A Tudor Gîrba 30/47
31 Case study: Class hierarchies in Jun reveal evolution patterns Young Unstable root Reliable inheritance Persistent Unbalanced Stable Reliable inheritance Newborn Old Stable Balanced Reliable inheritance Old Unstable Unbalanced Unreliable inheritance Tudor Gîrba 31/47
32 Overview Application: Detecting co-change patterns Hismo Applications Historical measurements Yesterday s Weather -based Detection Strategies Hierarchy evolution Co-change patterns Ownership Map Tudor Gîrba 32/47
33 Context: Repeated co-changes reveal hidden dependencies [Gall etal. 98] A v1 v2 v3 v4 v5 v6 B C D Can we identify co-change patterns like: Parallel Inheritance Shotgun Surgery? E Tudor Gîrba 33/47
34 Formal Concept Analysis (FCA) finds elements that have properties in common [Ganter, Wille 99] A B P1 P2 P3 P4 P5 P6 (A,D,E) (P2) (A,B,C,D,E) () (A,B,C,D) (P6) C FCA (D,E) (P2,P4) (A,D) (P2,P6) (A,B,C) (P5,P6) D (D) (P2,P4,P6) (A) (P2,P5,P6) (C) (P3,P5,P6) E To use FCA, we need to map our interests on elements and properties () (P1,P2,P3,P4,P5,P6) Tudor Gîrba 34/47
35 Formal Concept Analysis (FCA) finds elements that have properties in common [Ganter, Wille 99] A B P1 P2 P3 P4 P5 P6 (A,D,E) (P2) (A,B,C,D,E) () (A,B,C,D) (P6) C FCA (D,E) (P2,P4) (A,D) (P2,P6) (A,B,C) (P5,P6) D (D) (P2,P4,P6) (A) (P2,P5,P6) (C) (P3,P5,P6) E To use FCA, we need to map our interests on elements and properties () (P1,P2,P3,P4,P5,P6) Tudor Gîrba 35/47
36 We use FCA to identify entities that co-changed repeatedly A B v1 v2 v3 v4 v5 v6 (A,D,E) (v2) (A,B,C,D,E) () (A,B,C,D) (v6) C FCA (D,E) (v2,v4) (A,D) (v2,v6) (A,B,C) (v5,v6) D (D) (v2,v4,v6) (A) (v2,v5,v6) (C) (v3,v5,v6) E Elements = Histories Properties = changed in version X () (v1,v2,v3,v4,v5,v6) Tudor Gîrba 36/47
37 Example: Parallel inheritance denotes children added in several hierarchies v1 v2 v3 v4 v5 v6 A Case study: JBoss A A A A A A ServiceMBeanSupport JBossTestCase 14 versions EJBLocalHome EJBLocalObject 9 versions Elements = ClassHistories Properties = changed number of children in version X Tudor Gîrba 37/47
38 Overview Application: Ownership map Hismo Applications Historical measurements Yesterday s Weather -based Detection Strategies Hierarchy evolution Co-change patterns Ownership Map Tudor Gîrba 38/47
39 Context: The code history might tell you what happened, but not why it happened Case study: Outsight [Rysselberghe, Demeyer 04] files Who is responsible for this? time Tudor Gîrba 39/47
40 We color the lines to show which author owned which files in which period Green author large commit Green author ownership File A File B Blue author small commit Tudor Gîrba 40/47
41 The commit history shows what happened Tudor Gîrba 41/47
42 Ownership Map shows which author owned which files in which period Tudor Gîrba 42/47
43 We cluster the file histories to favor colored blocks inside each module We use the Hausdorf distance between the commit timestamps d(a, B) = min 2 { a - b b B } a A A B Tudor Gîrba 43/47
44 Ownership Map on alphabetically ordered files is not very useful, but Tudor Gîrba 44/47
45 The ordered Ownership Map reveals developer patterns Edit Takeover Monologue Familiarization Dialogue Tudor Gîrba 45/47
46 Overview Implementation: Hismo Applications Both Hismo and its applications are implemented in one single infrastructure Historical measurements Yesterday s Weather -based Detection Strategies Hierarchy evolution Co-change patterns Ownership Map Tudor Gîrba 46/47
47 Implementation: All tools are integrated into Moose Van CodeCrawler ConAn Chronia Moose Model repository Extensible meta-model Integration mechanism Tudor Gîrba 47/47
48 Conclusion: Hismo offers a uniform way of expressing evolution analyses Hismo Applications Questions? Historical measurements Yesterday s Weather -based Detection Strategies Hierarchy evolution Co-change patterns Ownership Map Tudor Gîrba 48/47
49 Hismo: is a sequence of s, where a adds the notion of time to Snapshot 1 * * 1 Snapshot date: Date Class Class Class Method Method Method Tudor Gîrba 49/47
50 The techniques are orthogonal to the type of data Node = class Edge = inheritance Node = Class Edge = Inheritance Tudor Gîrba 50/47
51 Entity identity: Are two entities at different points in time the versions of the same history? The current versioning systems record snapshots What are the names? ver 1 ver 2 What are the properties? What we would like Preserve the identity in the environment Record changes as they happen Tudor Gîrba 51/47
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 informationUsing Concept Analysis to Detect Co-Change Patterns
Using Concept Analysis to Detect Co-Change Patterns In Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007) Tudor Gîrba Software Composition Group University of Bern Radu
More informationSoftware 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 informationHow Developers Drive Software Evolution
How Developers Drive Software Evolution Masterarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Mauricio Seeberger January 2006 Supervised by Prof. Dr. Oscar
More informationRestructuring. 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 informationSoftware Bugs and Evolution: A Visual Approach to Uncover Their Relationship
Software Bugs and Evolution: A Visual Approach to Uncover Their Relationship Marco D Ambros and Michele Lanza Faculty of Informatics University of Lugano, Switzerland Abstract Versioning systems such as
More informationDesign 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 informationSoftware 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 informationDetecting and Visualizing Phases in Software Evolution
Detecting and Visualizing Phases in Software Evolution Diplomarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Thomas Bühler October 2004 Supervised by: Prof.
More informationWhat and Why? Reverse Engineering. I. First Contact: the Forces. The Reengineering Life-Cycle
What and Why? Reverse Engineering Definition Reverse Engineering is the process of analyzing a subject system! to identify the system s components and their interrelationships and! create representations
More informationChurrasco: 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 informationSoftware Visualization Applied S. Ducasse rmod.lille.inria.fr / stephane.ducasse.free.fr
Software Visualization Applied S. Ducasse rmod.lille.inria.fr / stephane.ducasse.free.fr Working on more than program visualization... Code analysis Software metrics Quality model Dynamic analysis Refactorings
More informationWhat can we learn from version control systems?
2IS55 Software Evolution What can we learn from version control systems? Alexander Serebrenik Assignment 2: Feedback # mean std. dev A1 13 3.23 0.725 A2 15 3.2 1.08 Likes: Coding as opposed to report writing
More informationWhat can we learn from version control systems?
2IS55 Software Evolution What can we learn from version control systems? Alexander Serebrenik Assignments Assignment 4: Deadline: April 6 Questions? Assignment 5: Published on Peach Deadline: April 20
More informationPublished in: Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007)
University of Groningen A Small Observatory for Super-Repositories Lungu, Micea-Filip; Gîrba, Tudor Published in: Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007)
More information3 Analysing Software Repositories to Understand Software Evolution
3 Analysing Software Repositories to Understand Software Evolution Marco D Ambros 1, Harald C. Gall 2, Michele Lanza 1, and Martin Pinzger 2 1 Faculty of Informatics, University of Lugano, Switzerland
More informationVisualizing 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 informationXRay Views: Understanding the Internals of Classes
XRay Views: Understanding the Internals of Classes Gabriela Arévalo, Stéphane Ducasse, Oscar Nierstrasz Software Composition Group University of Bern (Switzerland) {arevalo, ducasse, oscar}@iam.unibe.ch
More informationInteractive 3-D Visualization of Feature-traces
Interactive 3-D Visualization of Feature-traces Master Thesis Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Christoph Wysseier November 2005 Leiter der Arbeit: Prof.
More informationCommit 2.0. Marco D Ambros, Michele Lanza. Romain Robbes. ABSTRACT
Commit 2.0 Marco D Ambros, Michele Lanza REVEAL @ Faculty of Informatics University of Lugano, Switzerland {marco.dambros, michele.lanza}@usi.ch Romain Robbes University of Chile Chile romain.robbes@gmail.com
More informationScenario-based Refactoring Selection
BABEŞ-BOLYAI University of Cluj-Napoca Faculty of Mathematics and Computer Science Proceedings of the National Symposium ZAC2014 (Zilele Academice Clujene, 2014), p. 32-41 Scenario-based Refactoring Selection
More informationSANER 17. Klagenfurt, Austria
SANER 17 Klagenfurt, Austria Carol V. Alexandru, Sebastiano Panichella, Harald C. Gall Software Evolution and Architecture Lab University of Zurich, Switzerland {alexandru,panichella,gall}@ifi.uzh.ch 22.02.2017
More informationUnderstanding software evolution using a combination of software visualization and software metrics
Understanding software evolution using a combination of software visualization and software metrics Michele Lanza Stéphane Ducasse Software Composition Group University of Berne, Switzerland lanza@iam.unibe.ch,
More informationEnriching Reverse Engineering with Feature Analysis
Enriching Reverse Engineering with Feature Analysis Inauguraldissertation der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Orla Greevy von Irland Leiter der Arbeit:
More informationSoftware 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 informationChange-based Software Evolution
Change-based Software Evolution Romain Robbes and Michele Lanza Faculty of Informatics University of Lugano, Switzerland Abstract Software evolution research is limited by the amount of information available
More informationMoose for Java Enterprise Application
Moose for Java Enterprise Application Perin Fabrizio SCG - Software Composition Group Institut für Informatik und Angewandte Mathematik University of Bern, Switzerland 18/03/10 Revision History Date Ver.
More informationSoftware Archaeology - Reconstructing the Evolution of Software Systems
POLITECNICO DI MILANO Corso di Laurea in Ingegneria Informatica Dipartimento di Elettronica e Informazione Software Archaeology - Reconstructing the Evolution of Software Systems Relatore: Prof. Carlo
More informationCharacterizing the Functional Roles of Classes and Methods by Analyzing Feature Traces
Characterizing the Functional Roles of Classes and Methods by Analyzing Feature Traces Orla Greevy and Stéphane Ducasse Software Composition Group University of Bern, Switzerland {greevy, ducasse}@iam.unibe.ch
More informationTesting and Migration
Testing and Migration Tudor Gîrba www.tudorgirba.com Reengineering... is the examination and alteration of a subject system to reconstitute it in a new form and the subsequent implementation of the new
More informationM-REFACTOR: A New Approach and Tool for Model Refactoring
M-REFACTOR: A New Approach and Tool for Model Refactoring 1 Maddeh Mohamed, 2 Mohamed Romdhani, 3 Khaled GHEDIRA 1,3 SOIE, Ecole Nationale des Sciences de l Informatique Campus Universitaire Manouba -
More informationDistributed 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 informationVisualizing Live Software Systems in 3D
Visualizing Live Software Systems in 3D Orla Greevy 1, Michele Lanza 2 and Christoph Wysseier 3 1 Software Composition Group - University of Berne, Switzerland 2 Faculty of Informatics - University of
More informationBugMaps-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 informationThe Evolution and Impact of Code Smells: A Case Study of Two Open Source Systems
The Evolution and Impact of Code Smells: A Case Study of Two Open Source Systems Steffen Olbrich Dept. of Computer Sciences, University of Applied Sciences, Mannheim, Germany solbrich@gmail.com Daniela
More informationLecture 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 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 informationMEASURE YOUR CODE USING CODE METRICS. CS 599 Software Metrics and Models Hana Alarifi
MEASURE YOUR CODE USING CODE METRICS CS 599 Software Metrics and Models Hana Alarifi Overview Quality code is the top priority for a good developer. The code must be not only bug free code but also understandable,
More informationEvolizer A Platform for Software Evolution Analysis and Research
Evolizer A Platform for Software Evolution Analysis and Research Michael Würsch, Harald C. Gall University of Zurich Department of Informatics software evolution & architecture lab Friday, April 23, 200
More informationMeasuring fine-grained change in software: towards modification-aware change metrics
Measuring fine-grained change in software: towards modification-aware change metrics Daniel M. German Abram Hindle Software Engineering Group Department fo Computer Science University of Victoria Abstract
More informationAn Approach to Software Evolution BasedonSemanticChange
An Approach to Software Evolution BasedonSemanticChange Romain Robbes, Michele Lanza, and Mircea Lungu Faculty of Informatics University of Lugano, Switzerland Abstract. The analysis of the evolution of
More informationReproducible moldable interactions
Reproducible moldable interactions Master Thesis Mario Kaufmann from Thun BE, Switzerland Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern April 2018 Prof. Dr. Oscar Nierstrasz Dr. Andrei
More information6 Detection of Architecturally-Relevant Code Anomalies with Architectural-Sensitive Information
6 Detection of Architecturally-Relevant Code Anomalies with Architectural-Sensitive Information Chapters 4 and 5 discussed how code anomalies (Fowler et al., Chapter 3) can be related to architectural
More informationVisually Localizing Design Problems with Disharmony Maps
Visually Localizing Design Problems with Disharmony Maps Richard Wettel and Michele Lanza REVEAL @ Faculty of Informatics - University of Lugano, Switzerland Abstract Assessing the quality of software
More informationA Systematic Review of Bad Smells Metrics. Luiz Paulo Coelho Ferreira
A Systematic Review of Bad Smells Metrics Luiz Paulo Coelho Ferreira Motivation One of the main goals in Software Engineering is to transform software development in a process predictable and controlled.
More informationSoftware 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 informationACICE-2013 ISSN: ; e-issn
A comparative study on different object oriented metrics D.J.SAMATHA NAIDU 1, P.CHITTI BABU 2 1 MCA Department, Annamacharya PG College of Computer Studies, Rajampet, Kadapa,India 2 MCA Department, Annamacharya
More informationBeyond Language Independent Object-Oriented Metrics: Model Independent Metrics
Beyond Language Independent Object-Oriented Metrics: Model Independent Metrics Michele Lanza lanza@iam.unibe.ch Software Composition Group Universitá di Berna, Svizzera Stéphane Ducasse ducasse@iam.unibe.ch
More informationBlazo Nastov. Journée des doctorant, Nîmes, France 19 June 2014
Apport de l Ingénierie des Langages de Modélisation à l Ingénierie Système Basée sur les Modèles : conception d une méthode outillée pour la génération de Langages Métier interopérables, analysables et
More informationRefactorings. 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 informationThe LAN-simulation: A Refactoring Teaching Example
The LAN-simulation: A Refactoring Teaching Example Serge Demeyer, Filip Van Rysselberghe, Tudor Gîrba, Jacek Ratzinger, Radu Marinescu, Tom Mens, Bart Du Bois, Dirk Janssens, Stéphane Ducasse, Michele
More informationData Warehouses Chapter 12. Class 10: Data Warehouses 1
Data Warehouses Chapter 12 Class 10: Data Warehouses 1 OLTP vs OLAP Operational Database: a database designed to support the day today transactions of an organization Data Warehouse: historical data is
More informationLecture 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 informationKnowledge Discovery in Databases II Summer Term 2017
Ludwig Maximilians Universität München Institut für Informatik Lehr und Forschungseinheit für Datenbanksysteme Knowledge Discovery in Databases II Summer Term 2017 Lecture 3: Sequence Data Lectures : Prof.
More informationSupport for Static Concept Location with sv3d
Support for Static Concept Location with sv3d Xinrong Xie, Denys Poshyvanyk, Andrian Marcus Department of Computer Science Wayne State University Detroit Michigan 48202 {xxr, denys, amarcus}@wayne.edu
More informationEvolutionary and collaborative software architecture recovery with Softwarenaut Lungu, Mircea; Lanza, Michele; Nierstrasz, Oscar
University of Groningen Evolutionary and collaborative software architecture recovery with Softwarenaut Lungu, Mircea; Lanza, Michele; Nierstrasz, Oscar Published in: Science of computer programming DOI:
More informationDesigning and debugging real-time distributed systems
Designing and debugging real-time distributed systems By Geoff Revill, RTI This article identifies the issues of real-time distributed system development and discusses how development platforms and tools
More informationCS:2820 (22C:22) Object-Oriented Software Development
The University of Iowa CS:2820 (22C:22) Object-Oriented Software Development! Spring 2015 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this
More informationApplication of Relation Analysis to a Small Java Software
Application of Relation Analysis to a Small Java Software Minna Hillebrand Jonne Itkonen Vesa Lappalainen Department of Mathematical Information Technology University of Jyväskylä Finland E-mail: {mmhilleb
More informationSoftware Evolution from the Field: An Experience Report from the Squeak Maintainers
Software Evolution from the Field: An Experience Report from the Squeak Maintainers Marcus Denker SCG University of Berne Switzerland Stéphane Ducasse LISTIC Université de Savoie France Roadmap > A little
More informationModel Driven Development Unified Modeling Language (UML)
Model Driven Development Unified Modeling Language (UML) An Overview UML UML is a modeling notation standardized by OMG (proposal 1997, ver.1.1 in 1998, ver. 2.0 in 2004) now in 2.4.1 mature based on notations
More informationPatterns in Software Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 14 Reengineering Patterns Part 2 1 Reengineering Patterns: Detecting Duplicated Code 2 Detecting Duplicated Code: Compare Code Mechanically
More informationReverse Engineering with Logical Coupling
Reverse Engineering with Logical Coupling Marco D Ambros, Michele Lanza - Faculty of Informatics - University of Lugano Switzerland 13th Working Conference on Reverse Engineering October 23-27, 2006, Benevento,
More informationInteractive 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 informationObject Oriented Metrics. Impact on Software Quality
Object Oriented Metrics Impact on Software Quality Classic metrics Lines Of Code Function points Complexity Code coverage - testing Maintainability Index discussed later Lines of Code KLOC = 1000 Lines
More informationTool Support for Refactoring Duplicated OO Code
Tool Support for Refactoring Duplicated OO Code Stéphane Ducasse and Matthias Rieger and Georges Golomingi Software Composition Group, Institut für Informatik (IAM) Universität Bern, Neubrückstrasse 10,
More informationImproving Evolvability through Refactoring
Improving Evolvability through Refactoring Jacek Ratzinger, Michael Fischer Vienna University of Technology Institute of Information Systems A-1040 Vienna, Austria {ratzinger,fischer}@infosys.tuwien.ac.at
More informationMining Social Network Graphs
Mining Social Network Graphs Analysis of Large Graphs: Community Detection Rafael Ferreira da Silva rafsilva@isi.edu http://rafaelsilva.com Note to other teachers and users of these slides: We would be
More informationA Study of Bad Smells in Code
International Journal for Science and Emerging ISSN No. (Online):2250-3641 Technologies with Latest Trends 7(1): 16-20 (2013) ISSN No. (Print): 2277-8136 A Study of Bad Smells in Code Gurpreet Singh* and
More informationEnriching Reverse Engineering with Annotations
Enriching Reverse Engineering with Annotations Masterarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Andrea Brühlmann im April 2008 Leiter der Arbeit Prof.
More informationUse of Model Driven Engineering in Building Generic FCA/RCA Tools
Use of Model Driven Engineering in Building Generic FCA/RCA Tools J.-R. Falleri 1, G. Arévalo 2, M. Huchard 1, and C. Nebut 1 1 LIRMM, CNRS and Université de Montpellier 2, 161, rue Ada, 34392 Montpellier
More informationRecovering the Evolution of Object Oriented Software Systems Using a Flexible Query Engine
Recovering the Evolution of Object Oriented Software Systems Using a Flexible Query Engine Diplomarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Lukas Steiger
More informationStacks, Queues & Trees. The Stack Interface. The Stack Interface. Harald Gall, Prof. Dr.
Stacks, Queues & Trees Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch The Stack Interface Stack Data structure holding several items. New items added to the top
More informationRun-Time Information Visualization for Understanding Object-Oriented Systems
Run-Time Information Visualization for Understanding Object-Oriented Systems Roland Bertuli I3S Laboratory Sophia-Antipolis, France bertuli@essi.fr Stéphane Ducasse Software Composition Group University
More informationApplying Semantic Analysis to Feature Execution Traces
Applying Semantic Analysis to Feature Execution Traces Adrian Kuhn, Orla Greevy and Tudor Gîrba Software Composition Group University of Bern, Switzerland {akuhn, greevy, girba}@iam.unibe.ch Abstract Recently
More informationMaintainability and Agile development. Author: Mika Mäntylä
Maintainability and Agile development Author: Mika Mäntylä ISO 9126 Software Quality Characteristics Are the required functions available in the software? How easy is it to
More informationPurpose, features and functionality
Topic 6 Purpose, features and functionality In this topic you will look at the purpose, features, functionality and range of users that use information systems. You will learn the importance of being able
More informationSoftware Evolution. Dr. James A. Bednar. With material from
Software Evolution Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar With material from Massimo Felici, Conrad Hughes, and Perdita Stevens SAPM Spring 2012: Evolution 1 Software
More informationA STABLE MODELING OF LARGE PLANT ECOSYSTEMS
ICCVG 2002 Zakopane, 25-29 Sept. 2002 Bedřich Beneš ITESM Campus Ciudad de México, Mexico City beda@campus.ccm.itesm.mx A STABLE MODELING OF LARGE PLANT ECOSYSTEMS Abstract. The focus of this paper is
More informationvrealize Operations Manager User Guide
vrealize Operations Manager User Guide vrealize Operations Manager 6.5 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a
More informationResearch Article An Empirical Study of the Effect of Power Law Distribution on the Interpretation of OO Metrics
ISRN Software Engineering Volume 213, Article ID 198937, 18 pages http://dx.doi.org/1.1155/213/198937 Research Article An Empirical Study of the Effect of Power Law Distribution on the Interpretation of
More informationARiSA 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 informationRepository Mining: Social Aspects
2IS55 Software Evolution Repository Mining: Social Aspects Alexander Serebrenik Assignment Assignment 2: I m still grading it. So far: min = 3, max = 9 Assignment 3: Published on Peach Deadline: March
More informationEvolving of Monitoring and Control System MICREX-VieW XX (Double X)
Evolving of Monitoring and Control System MICREX-VieW XX (Double X) NAGATSUKA, Kazuhito SATO, Yoshikuni SASANO, Kisaburo A B S T R A C T The small-and medium-scale monitoring and control system MICREX-VieW
More information2.1 Ethics in an Information Society
2.1 Ethics in an Information Society Did you ever hear the old warning, "Just because you can, doesn't mean you should?" Well, a lot of things are possible on the Internet nowadays, but that doesn't mean
More informationTowards Better Understanding of Software Quality Evolution Through Commit Impact Analysis
Towards Better Understanding of Software Quality Evolution Through Commit Impact Analysis Sponsor: DASD(SE) By Mr. Pooyan Behnamghader 5 th Annual SERC Doctoral Students Forum November 7, 2017 FHI 360
More informationvrealize Operations Manager User Guide Modified on 17 AUG 2017 vrealize Operations Manager 6.6
vrealize Operations Manager User Guide Modified on 17 AUG 2017 vrealize Operations Manager 6.6 vrealize Operations Manager User Guide You can find the most up-to-date technical documentation on the VMware
More informationRediffmail Enterprise High Availability Architecture
Rediffmail Enterprise High Availability Architecture Introduction Rediffmail Enterprise has proven track record of 99.9%+ service availability. Multifold increase in number of users and introduction of
More informationAre you Really Helped by Upstream Kernel Code?
Are you Really Helped by Upstream Kernel Code? 1 HISAO MUNAKATA RENESAS SOLUTIONS CORP hisao.munakata.vt(at)renesas.com who am I Working for Renesas (semiconductor) 2 Over 15 years real embedded Linux
More informationDetecting Structural Refactoring Conflicts Using Critical Pair Analysis
SETra 2004 Preliminary Version Detecting Structural Refactoring Conflicts Using Critical Pair Analysis Tom Mens 1 Software Engineering Lab Université de Mons-Hainaut B-7000 Mons, Belgium Gabriele Taentzer
More informationAn experience report on using code smells detection tools
Università degli Studi di Milano Bicocca DISCo Dipartimento di Informatica, Sistemistica e Comunicazione Francesca Arcelli Fontana, Elia Mariani Andrea Morniroli, Raul Sormani, Alberto Tonello RefTest
More informationSoftware Reengineering P1: Intro & Organization. Martin Pinzger Delft University of Technology
Software Reengineering P1: Intro & Organization Martin Pinzger Delft University of Technology Greenfield software development 2 Non-greenfield software development? 3 How often did you...... encounter
More informationConceptual Model for a Software Maintenance Environment
Conceptual Model for a Software Environment Miriam. A. M. Capretz Software Engineering Lab School of Computer Science & Engineering University of Aizu Aizu-Wakamatsu City Fukushima, 965-80 Japan phone:
More informationBeyond the Refactoring Browser: Advanced Tool Support for Software Refactoring
Beyond the Refactoring Browser: Advanced Tool Support for Software Refactoring Tom Mens Tom Tourwé Francisca Muñoz Programming Technology Lab Vrije Universiteit Brussel Pleinlaan 2, 1050 Brussel, Belgium
More informationReadings and References. Virtual Memory. Virtual Memory. Virtual Memory VPN. Reading. CSE Computer Systems December 5, 2001.
Readings and References Virtual Memory Reading Chapter through.., Operating System Concepts, Silberschatz, Galvin, and Gagne CSE - Computer Systems December, Other References Chapter, Inside Microsoft
More informationData warehouse architecture consists of the following interconnected layers:
Architecture, in the Data warehousing world, is the concept and design of the data base and technologies that are used to load the data. A good architecture will enable scalability, high performance and
More informationThe FAMOOS Object-Oriented Reengineering Handbook
The FAMOOS Object-Oriented Reengineering Handbook http://www.iam.unibe.ch/ famoos/handbook/ Holger Bär, Markus Bauer Oliver Ciupke, Serge Demeyer Stéphane Ducasse, Michele Lanza Radu Marinescu, Robb Nebbe
More informationObject Model. Object Orientated Analysis and Design. Benjamin Kenwright
Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean
More informationCocoViz: Towards Cognitive Software Visualizations
CocoViz: Towards Cognitive Software Visualizations Sandro Boccuzzo, Harald Gall Department of Informatics, University of Zurich {boccuzzo, gall}@ifi.unizh.ch Abstract Understanding software projects is
More informationPRIMARY-BACKUP REPLICATION
PRIMARY-BACKUP REPLICATION Primary Backup George Porter Nov 14, 2018 ATTRIBUTION These slides are released under an Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) Creative Commons
More information