RMoD Software Remodularisation

Size: px
Start display at page:

Download "RMoD Software Remodularisation"

Transcription

1 RMoD Software Remodularisation Research Theme: Communicating systems COM A: Project Proposal USTL/LIFL-INRIA 9 June 2007 Stéphane Ducasse 1

2 Outline! Building on expertise! RMoD! Team! Challenges and objectives! Foundations! Application domains! Research Agenda! Collaborations and grants! International collaborations! National collaborations! International and INRIA positioning! Publications and software! Programme committees and conference organisations! Conclusion 2

3 Building on expertise! Supporting software evolution and software composition! Two axes! Reengineering software systems! Language infrastructure! More? 3

4 Reengineering Topics Metamodeling, Software metrics, Program understanding, Visualization, evolution analysis, Dcode detection, Code analysis, Refactorings... Contributions Reverse Engineering Representation Analyses Evolution Moose: an open-source extensible reengineering environment: (Lugano, Bern, Annecy, Anvers, Louvain la neuve, ULB, UTSL) Contacts Harman-Becker (3 Millions C++), Bedag (Cobol), Nokia, ABB, IMEC Transformations 4

5 Understanding Large Systems [WCRE 99, TSI 00, TSE 03] Static/Dynamic Information [ICSM 99] Feature Analysis [JSME 06] Class Understanding [OOPSLA 01,TSE 04] Package Blueprints [ICSM 07] Distribution Maps [ICSM 06] Reverse Engineering Representation Language Independent Meta Model [UML 99] An Extensible Reengineering Environment (Moose) [Models 06] Software Metrics [LMO 99, OOPSLA 00] Duplicated Code Identification [ICSM 99, ICSM 02] Group Identification [ASE 03] Test Generation [CSMR 06] Concept Identification Analyses [WCRE 06] Evolution Reengineering Patterns Version Analyses [ICSM 05] HISMO metamodel [JSME 05] Transformations Language Independent Refactorings [IWPSE 00] 5

6 Language infrastructure La perfection est atteinte, non pas lorsqu il n y a plus rien à ajouter, mais lorsqu il n y a plus rien à retirer. St-Exupery Subjects Components for field devices (Pecos IST Project) Classboxes: Modules for open-classes [OOPSLA 05] OOPAL: OOP + APL Generalizing message passing - [OOPSLA 03] Language symbiosis (Jour. Program) Encapsulation for dynamic languages [ECOOP 04, OOPSLA 04] Reusable behavior: Traits [ECOOP 03, OOPSLA 03, Toplas,..., OOPSLA 07] Impacts Traits used by Fortress (SUN Microsystems), Scala (EPFL), Perl-6, Squeak, Slate, Dr-Scheme Multiple type systems 6

7 Outline! Building on an expertise! RMoD! Team! Challenges and objectives! Foundations! Application domains! Research Agenda! Collaborations and grants! International collaborations! National collaborations! International and INRIA positioning! Publications and software! Programme committees and conference organisations! Conclusion 7

8 Team! Permanent Staff! S. Ducasse, DR2 INRIA! A. Bergel, CR2 INRIA! Post doctoral Fellows! S. Denier (Sept Projet région System@tic Qualité logicielle)! External not sure to keep@@! R. Wuyts, Pr, IMEC-KUL (under building)! W. Demeuter, Pr, VUB (under building) 8

9 Team! PhD students! M.Suen (DGA-CNRS / Security in dynamic languages)! A. Abdeen (ANR / Package Analyses)! J. Menanteau (Sept 2008 / Projet region Qualité logicielle)! Other PhD students! H. Fernandes (salarié - 30 % co-tutelle Listic Univ. Savoie)! A Razavizadeh (20 % co-tutelle Listic Univ. Savoie) 9

10 Challenges and objectives! How to help development teams to maintain and evolve their software programs?! What are the analyses?! How to identify problems?! How to display results?! How to support decisions?! What language constructs to support better composition and evolution? 10

11 Typical large scale long living systems! Large: couple thousands of classes Large: 2s per line of 1M LOC system = 3 months! Undocumented Knowledge loss Lack of structure overview (layers, cycles, core) Multi-developer Multi years 11

12 Software Evolution Laws Continuous Changes. a program that is used must be continually adapted else it becomes progressively less satisfactory Increasing Complexity. As a program is evolved its complexity increases unless work is done to maintain or reduce it. 12

13 Maintenance Cost 13

14 Maintenance is Continuous Development 18.2% Adaptive (new platforms or OS) 4.1% Other Relative Maintenance Effort Between 50% and 75% of global effort is spent on maintenance! 17.4% Corrective (fixing reported errors) 60.3% Perfective (new functionality) The bulk of the maintenance cost is due to new functionality even with better requirements, it is hard to predict new functions 14

15 Application Domains Quality and software engineering are omnipresent PSA, Airbus and MediaPost Open-source Java projects JBoss, Azureus Dynamic Web Development Pharo: for developing real-life applications Starting from Squeak (developed since 1996) 2500 Classes Monolithic Several complex domains (UI, IDE, Compilation, Audio, 3D...) 15

16 Research Agenda How to help remodularize existing software applications? How to enhance programming languages to ease future evolution and reuse of software applications? 16

17 Remodularisation Support Tools for understanding applications at large Building the macroscope Remodularisation analyses Which analysis? Key class identification Layers New ways to look at coupling Software quality and monitoring How remodularisation (coupling/layers) fits into software quality? How does the system evolve? 17

18 Language Constructs for Modular Design Traits Large application (Collection library) Reconsidering traits (state addition) Pure traits-based language Security and dynamic reflective systems Security by construction Control of reflective behavior Model of security (ACL/Capabilities) Supported by NetStyle.ch Secure hot-upgrade should probably expand with 18

19 Outline! Building on expertise! RMoD! Team! Challenges and objectives! Foundations! Application domains! Research Agenda! Collaborations and grants! International collaborations! National collaborations! International and INRIA positioning! Publications and software! Programme committees and conference organisations! Conclusion 19

20 International Collaborations ERCIM WG Software Evolution co-founder Assoc. Team Remoose Geodes, Univ. Montréal (H. Sahraoui/Y.G. Gueheneuc) Software Composition Group, Univ. Bern, Pr. O. Nierstrasz Research Groups A. Black (Oregon, USA) O. Nierstrasz (Bern, Switzerland) R. Wuyts (IMEC/KUL, Belgium) E. Tanter (Santiago, Chile) Sahraoui/Guéheneuc (Montréal, Canada) S. Krishnamurthi (Providence, USA) T. D Hondt (VUB, Belgium) 20

21 National Collaborations Regional Ecole des mines de douai (Noury Bouraqadi) LIRMM Equipe d Oc INRIA Obasco Contact with MetaWare technologies Qualixo Cast Software Projects Squale, Pôle System@atic Submitted ANR Defis (LIRMM, LIAFA, MetaWare) 21

22 International and INRIA Positing INRIA Landes (statique and model checking) Klimt (Parsing + DSL + Architecture) Gallium (ocaml) Obasco (AOP) International Reengineering A. van Deursen (model driven) R. Koschke (algorithms for identification) Geodes H. Saharoui (metrics, quality) Lore (S. Demeyer, test) Seal (H. Gall, evolution mining) Reveal (M. Lanza Visualization) SERG (S. Mancoridis, Clustering) Language Design Scala (M. Odersky EPFL) E (Milner, SUN) Mixins (...) Units (Flatt) RPM (R. Ducournau, LIRMM) Reflectivity (M. Denker, SCG) 22

23 Publications and Software Publications PhDs (5 in 2005, 3 in 2006, 2 in 2007, 1 in 2008) 2 books (27000 dls) 2 chapters 18 journal articles (TSE, Toplas, 30 articles (ECOOP, OOPSLA, ICSM, WCRE, CSMR...) Software Moose: reengineering open-source environment Squeak 3.9 release responsible Pharo: high quality open-source Smalltalk JSmall: mini Java VM 23

24 Programme commitees and conferences Conferences and Workshop Organizations LMO 2005, ESUG 05, 06, 07 (100 part), Workshop chair Tools 07, Tools 08, Dyla 07 Programme Committees International: ECOOP 05, 07, ICSM 05, 06, 07, 08, CSMR 06, 07, 08, ICPC 06, 07, 08, Models/UML 05, 06, 07, DLS 05, 06, WCRE 05, 06, ESUG 05 National: Node 05, 06, LMO 05, 06, 08, IDM 05, 06, 07, 08. JFDLA 05, 07, Cal 06. International Workshops: Design Pattern Theory and Practice 05, Program Comprehension through Dynamic Analysis (PCODA 05 06). Meta-Models. Schemas and Grammars for Reverse Engineering (ATEM 06), Mining Software Repositories (MSR'07), Semantic Technologies in System Maintenance (STSM'08), Model Co-Evolution and Consistency Management (MCCM'08), Implementation, Compilation, Optimization of Object- Oriented Languages, Programs and Systems (ICOOOLPS 2008) Self-sustaining Systems (S3-2008) 24

25 Risk Analysis On the edge of two challenging topics Small team Difficult since industry wants reengineers not reengsearchers Solutions Stepwise bootstrapping Narrowing the field: remodularisation as a focus Identify key players in France Working with collaborations 25

26 Conclusion Remodularisation as a challenge Two axes in synergy Head in the clouds Model and analyses Feet on the ground Applied to real systems Platform and solutions tested on real software 26

Stéphane Ducasse. 43 years INRIA Lille Nord Europe- LIFL/USTL - CNRS UMR8022

Stéphane Ducasse. 43 years INRIA Lille Nord Europe- LIFL/USTL - CNRS UMR8022 Stéphane Ducasse Senior Researcher (Directeur de recherche) 43 years INRIA Lille Nord Europe- LIFL/USTL - CNRS UMR8022 mailto:stephane.ducasse@inria.fr + 33 (0)3 20 43 42 56 http://stephane.ducasse.free.fr

More information

How To Understand And Understand Smalltalk

How To Understand And Understand Smalltalk Lessons in Software Evolution Learned by Listening to Smalltalk Oscar Nierstrasz scg.unibe.ch Research Team Adrian Lienhard Adrian Kuhn Fabrizio Perin Lukas Renggli Jorge Ressia David Roethlisberger Niko

More information

Génie Logiciel et Gestion de Projets. Evolution

Génie Logiciel et Gestion de Projets. Evolution Génie Logiciel et Gestion de Projets Evolution 1 Roadmap Evolution: definitions Re-engineering Legacy systems Reverse engineering Software Visualisation Re-engineering Patterns 2 Evolution: Definitions

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 César Couto 1,2, Pedro Pires 1, Marco Túlio Valente 1, Roberto S. Bigonha 1, Andre Hora 3, Nicolas Anquetil 3 1 Department

More information

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands edwin.hautus@nl.compuware.com Abstract Packages are an important mechanism to decompose

More information

Supporting Software Change in the Programming Language

Supporting Software Change in the Programming Language Supporting Software Change in the Programming Language Oscar Nierstrasz and Marcus Denker Software Composition Group University of Bern www.iam.unibe.ch/ scg Keywords: sofware evolution, languages, traits,

More information

Using Recovered Views to Track Architectural Evolution

Using Recovered Views to Track Architectural Evolution Using Recovered Views to Track Architectural Evolution Tamar Richner Software Composition Group, Institut für Informatik (IAM) Universität Bern, Neubrückstrasse 10, 3012 Berne,Switzerland richner@iam.unibe.ch,

More information

CodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool

CodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool CodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool Michele Lanza Software Engineering Group Department of Informatics University of Zurich, Switzerland Stéphane Ducasse

More information

The Class Blueprint A Visualization of the Internal Structure of Classes

The Class Blueprint A Visualization of the Internal Structure of Classes The Class Blueprint A Visualization of the Internal Structure of Classes Michele Lanza Software Composition Group University Of Bern Bern, Switzerland lanza@iam.unibe.ch Stéphane Ducasse Software Composition

More information

Software Comprehension and Reuse supported by Analytics and Repository Mining

Software Comprehension and Reuse supported by Analytics and Repository Mining Software Comprehension and Reuse supported by Analytics and Repository Mining Marcelo de Almeida Maia Computer Science Department Federal University of Uberlândia marcmaia@facom.ufu.br SEIF Brazil Workshop

More information

OrionPlanning: Improving Modularization and Checking Consistency on Software Architecture

OrionPlanning: Improving Modularization and Checking Consistency on Software Architecture OrionPlanning: Improving Modularization and Checking Consistency on Software Architecture Gustavo Santos, Nicolas Anquetil, Anne Etien, and Stéphane Ducasse RMoD Team INRIA, Lille, France {firstname.lastname}@inria.fr

More information

Exploiting Dynamic Information in IDEs Eases Software Maintenance

Exploiting Dynamic Information in IDEs Eases Software Maintenance Exploiting Dynamic Information in IDEs Eases Software Maintenance David Röthlisberger Software Composition Group, University of Bern, Switzerland roethlis@iam.unibe.ch Abstract The integrated development

More information

JSClassFinder: A Tool to Detect Class-like Structures in JavaScript

JSClassFinder: A Tool to Detect Class-like Structures in JavaScript JSClassFinder: A Tool to Detect Class-like Structures in JavaScript Leonardo Humberto Silva 1, Daniel Hovadick 2, Marco Tulio Valente 2, Alexandre Bergel 3,Nicolas Anquetil 4, Anne Etien 4 1 Department

More information

Program Understanding in Software Engineering

Program Understanding in Software Engineering Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert

More information

VISUALIZATION APPROACH FOR SOFTWARE PROJECTS

VISUALIZATION APPROACH FOR SOFTWARE PROJECTS Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE

More information

EvoSpaces: 3D Visualization of Software Architecture

EvoSpaces: 3D Visualization of Software Architecture EvoSpaces: 3D Visualization of Software Architecture Sazzadul Alam, Philippe Dugerdil HEG - Univ. of Applied Sciences, Geneva, Switzerland Sazzadul.Alam@hesge.ch, Philippe.Dugerdil@hesge.ch Abstract This

More information

Paris, October 5 2007 ICSM 2007 Working Session. Francesca Arcelli Fontana

Paris, October 5 2007 ICSM 2007 Working Session. Francesca Arcelli Fontana Paris, October 5 2007 ICSM 2007 Working Session Francesca Arcelli Fontana RE4APM RE University Industry APM Clients Reverse Engineering The process of analyzing a subject system to (i) identify the system

More information

Software Bugs and Evolution: A Visual Approach to Uncover Their Relationship

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

White Coats: Web-Visualization of Evolving Software in 3D

White Coats: Web-Visualization of Evolving Software in 3D White Coats: Web-Visualization of Evolving Software in 3D Cédric Mesnage Département d informatique Université de Caen, France Michele Lanza Faculty of informatics University of Lugano, Switzerland Abstract

More information

Dynamic Analysis. The job of the reverse engineer is similar to the one of the doctor, as they both need to reason about an unknown complex system.

Dynamic Analysis. The job of the reverse engineer is similar to the one of the doctor, as they both need to reason about an unknown complex system. Dynamic Analysis Tudor Gîrba www.tudorgirba.com The job of the reverse engineer is similar to the one of the doctor, as they both need to reason about an unknown complex system. One way to gain insights

More information

Aspect Mining in Procedural Object-Oriented Code

Aspect Mining in Procedural Object-Oriented Code Aspect Mining in Procedural Object-Oriented Code Muhammad Usman BHATTI 1 Stéphane DUCASSE 2 Awais RASHID 3 1 CRI, Université de Paris 1 Sorbonne, France 2 INRIA - Lille Nord Europe, France 3 Computing

More information

Aspect-Oriented Programming

Aspect-Oriented Programming Aspect-Oriented Programming An Introduction to Aspect-Oriented Programming and AspectJ Niklas Påhlsson Department of Technology University of Kalmar S 391 82 Kalmar SWEDEN Topic Report for Software Engineering

More information

BugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests

BugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests Couto et al. Journal of Software Engineering Research and Development 2014, 2:1 SOFTWARE Open Access BugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests Cesar Couto

More information

Analysis and Design of Software Systems Practical Session 01. System Layering

Analysis and Design of Software Systems Practical Session 01. System Layering Analysis and Design of Software Systems Practical Session 01 System Layering Outline Course Overview Course Objectives Computer Science vs. Software Engineering Layered Architectures Selected topics in

More information

Gadget: A Tool for Extracting the Dynamic Structure of Java Programs

Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Juan Gargiulo and Spiros Mancoridis Department of Mathematics & Computer Science Drexel University Philadelphia, PA, USA e-mail: gjgargiu,smancori

More information

Representing Code History with Development Environment Events

Representing Code History with Development Environment Events Representing Code History with Development Environment Events Martín Dias Damien Cassou Stéphane Ducasse RMoD Inria Lille Nord Europe University of Lille Lifl Abstract Modern development environments handle

More information

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify

More information

An Automatic Reversible Transformation from Composite to Visitor in Java

An Automatic Reversible Transformation from Composite to Visitor in Java An Automatic Reversible Transformation from Composite to Visitor in Java Akram To cite this version: Akram. An Automatic Reversible Transformation from Composite to Visitor in Java. CIEL 2012, P. Collet,

More information

A Multi-layered Domain-specific Language for Stencil Computations

A Multi-layered Domain-specific Language for Stencil Computations A Multi-layered Domain-specific Language for Stencil Computations Christian Schmitt, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, University of Erlangen-Nuremberg Workshop ExaStencils 2014,

More information

The OpenCloudware collaborative project

The OpenCloudware collaborative project The OpenCloudware collaborative project «Delivering a Cloud Platorm for Building, Maintaining and Operating Enterprise PaaS Distributed Applications» Alban Richard, UShareSoft CEO Cedric Thomas, OW2 CEO

More information

The OpenCloudware collaborative project

The OpenCloudware collaborative project The OpenCloudware collaborative project An Infrastructure platform for Building, Maintaining and Operating Enterprise Distributed Applications in the Cloud Towards a PaaS management stack over multiple

More information

Visualizing Software Architecture Evolution using Change-sets

Visualizing Software Architecture Evolution using Change-sets Visualizing Software Architecture Evolution using Change-sets Andrew McNair, Daniel M. German, and Jens Weber-Jahnke Computer Science Department University of Victoria Victoria, Canada {amcnair,dmg,jens}@cs.uvic.ca

More information

Unification of AOP and FOP in Model Driven Development

Unification of AOP and FOP in Model Driven Development Chapter 5 Unification of AOP and FOP in Model Driven Development I n this chapter, AOP and FOP have been explored to analyze the similar and different characteristics. The main objective is to justify

More information

Software Engineering & Architecture

Software Engineering & Architecture Software Engineering & Architecture 11. QUALITY METRICS AND VISUALIZATION Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems References Some

More information

Strategies for Program Inspection and Visualization

Strategies for Program Inspection and Visualization Strategies for Program Inspection and Visualization Daniela da Cruz 1, Mario Béron 1, Pedro Rangel Henriques 1, and Maria João Varanda Pereira 2 1 University of Minho - Department of Computer Science,

More information

CodeCrawler Lessons Learned in Building a Software Visualization Tool

CodeCrawler Lessons Learned in Building a Software Visualization Tool CodeCrawler Lessons Learned in Building a Software Visualization Tool Michele Lanza lanza@iam.unibe.ch - Software Composition Group - University of Berne, Switzerland Abstract Software visualization tools

More information

Using Library Dependencies for Clustering

Using Library Dependencies for Clustering Using Library Dependencies for Clustering Jochen Quante Software Engineering Group, FB03 Informatik, Universität Bremen quante@informatik.uni-bremen.de Abstract: Software clustering is an established approach

More information

A Categorization of Classes based on the Visualization of their Internal Structure: the Class Blueprint

A Categorization of Classes based on the Visualization of their Internal Structure: the Class Blueprint A Categorization of Classes based on the Visualization of their Internal Structure: the Class Blueprint Michele Lanza Software Composition Group University Of Bern Bern, Switzerland lanza@iam.unibe.ch

More information

Java Wiretap. Extracting Feature Execution Models for Reverse Engineering

Java Wiretap. Extracting Feature Execution Models for Reverse Engineering Java Wiretap Extracting Feature Execution Models for Reverse Engineering Julien Fierz Supervised by: Orla Greevy University of Bern, Switzerland Software Composition Group June 2007 Wiretap is a profiler

More information

How To Combine Feature-Oriented And Aspect-Oriented Programming To Support Software Evolution

How To Combine Feature-Oriented And Aspect-Oriented Programming To Support Software Evolution Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Sven Apel, Thomas Leich, Marko Rosenmüller, and Gunter Saake Department of Computer Science Otto-von-Guericke-University

More information

Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15

Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15 Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group Tuesday June 12 1:00-2:15 Service Oriented Architecture and the DBA What is Service Oriented Architecture (SOA)

More information

Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC

Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC Modernized and Maintainable Code Frank Weil, Ph.D. UniqueSoft, LLC UniqueSoft is a provider of next-generation software development tools and services specializing in modernizing legacy software using

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages 15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning

More information

A Framework of Model-Driven Web Application Testing

A Framework of Model-Driven Web Application Testing A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China

More information

Adaptability in Object-Oriented Software Development Workshop report

Adaptability in Object-Oriented Software Development Workshop report Adaptability in Object-Oriented Software Development Workshop 1 Adaptability in Object-Oriented Software Development Workshop report Bedir Tekinerdogan & Mehmet Aksit Department of Computer Science University

More information

sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases

sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases Hagen Schink Institute of Technical and Business Information Systems Otto-von-Guericke-University Magdeburg, Germany

More information

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,

More information

Integration of Application Business Logic and Business Rules with DSL and AOP

Integration of Application Business Logic and Business Rules with DSL and AOP Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland Bogumila.Hnatkowska@pwr.wroc.pl

More information

MDA and Programming Languages

MDA and Programming Languages MDA and Programming Languages Michael Eichberg University of Technology Darmstadt eichberg@informatik.tu-darmstadt.de September 2002 Abstract One of the open issues in Model Driven Architecture (MDA) is

More information

Toward Families of QVT DSL and Tool

Toward Families of QVT DSL and Tool Toward Families of QVT DSL and Tool Benoît Langlois, Daniel Exertier, Ghanshyamsinh Devda Thales Research & Technology RD 128 91767 Palaiseau, France {benoit.langlois, daniel.exertier, ghanshyamsinh.devda}@thalesgroup.com

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Curriculum Vitae. Zhenchang Xing

Curriculum Vitae. Zhenchang Xing Curriculum Vitae Zhenchang Xing Computing Science Department University of Alberta, Edmonton, Alberta T6G 2E8 Phone: (780) 433 0808 E-mail: xing@cs.ualberta.ca http://www.cs.ualberta.ca/~xing EDUCATION

More information

VISUALIZATION TECHNIQUES OF COMPONENTS FOR LARGE LEGACY C/C++ SOFTWARE

VISUALIZATION TECHNIQUES OF COMPONENTS FOR LARGE LEGACY C/C++ SOFTWARE STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LIX, Special Issue 1, 2014 10th Joint Conference on Mathematics and Computer Science, Cluj-Napoca, May 21-25, 2014 VISUALIZATION TECHNIQUES OF COMPONENTS

More information

Service Oriented Architecture 1 COMPILED BY BJ

Service Oriented Architecture 1 COMPILED BY BJ Service Oriented Architecture 1 COMPILED BY BJ CHAPTER 9 Service Oriented architecture(soa) Defining SOA. Business value of SOA SOA characteristics. Concept of a service, Enterprise Service Bus (ESB) SOA

More information

Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution

Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Sven Apel, Thomas Leich, Marko Rosenmüller, and Gunter Saake Department of Computer Science University of Magdeburg,

More information

Grouping in Object-Oriented Reverse Engineering

Grouping in Object-Oriented Reverse Engineering Grouping in Object-Oriented Reverse Engineering Diplomarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Daniele Talerico 2003 Leiter der Arbeit: Michele Lanza

More information

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1 Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra

More information

Assuring Software Quality by Code Smell Detection

Assuring Software Quality by Code Smell Detection Assuring Software Quality by Code Smell Detection (Invited talk, Most Influential Paper Award) Eva van Emden Vancouver Editor Vancouver, BC, Canada Email: eva@alumni.uvic.ca Leon Moonen Simula Research

More information

Insights into System Wide Code Duplication

Insights into System Wide Code Duplication 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 Abstract Duplication

More information

Infrastructures for Digital Business Ecosystems : the wrong question?

Infrastructures for Digital Business Ecosystems : the wrong question? Infrastructures for Digital Business Ecosystems : the wrong question? Maurizio De Cecco http://maurizio.dececco.name/ http://www.linkedin.com/in/mauriziodececco As an independent expert working for the

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

More information

Challenges in bootstrapping a model-driven way of software development

Challenges in bootstrapping a model-driven way of software development Challenges in bootstrapping a model-driven way of software development Dennis Wagelaar Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussels, Belgium dennis.wagelaar@vub.ac.be Abstract. Current MDE technologies

More information

Evolution Feature Oriented Model Driven Product Line Engineering Approach for Synergistic and Dynamic Service Evolution in Clouds

Evolution Feature Oriented Model Driven Product Line Engineering Approach for Synergistic and Dynamic Service Evolution in Clouds Evolution Feature Oriented Model Driven Product Line Engineering Approach for Synergistic and Dynamic Service Evolution in Clouds Zhe Wang, Xiaodong Liu, Kevin Chalmers School of Computing Edinburgh Napier

More information

Software Engineering. So(ware Evolu1on

Software Engineering. So(ware Evolu1on Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers

More information

Maispion: A Tool for Analysing and Visualising Open Source Software Developer Communities

Maispion: A Tool for Analysing and Visualising Open Source Software Developer Communities Maispion: A Tool for Analysing and Visualising Open Source Software Developer Communities François Stephany University of Mons & agilitic Place du Parc 20 7000 Mons, Belgium francois.stephany@agilitic.com

More information

A METHOD FOR REWRITING LEGACY SYSTEMS USING BUSINESS PROCESS MANAGEMENT TECHNOLOGY

A METHOD FOR REWRITING LEGACY SYSTEMS USING BUSINESS PROCESS MANAGEMENT TECHNOLOGY A METHOD FOR REWRITING LEGACY SYSTEMS USING BUSINESS PROCESS MANAGEMENT TECHNOLOGY Gleison Samuel do Nascimento, Cirano Iochpe Institute of Informatics, Federal University of Rio Grande do Sul, Porto Alegre,

More information

Safe Kernel Scheduler Development with Bossa

Safe Kernel Scheduler Development with Bossa Safe Kernel Scheduler Development with Bossa Gilles Muller Obasco Group, Ecole des Mines de Nantes/INRIA, LINA Julia L. Lawall DIKU, University of Copenhagen http://www.emn.fr/x-info/bossa 1 1 Process

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Managing Software Evolution through Reuse Contracts

Managing Software Evolution through Reuse Contracts VRIJE UNIVERSITEIT BRUSSEL Vrije Universiteit Brussel Faculteit Wetenschappen SCI EN T I A V INCERE T ENE BRA S Managing Software Evolution through Reuse Contracts Carine Lucas, Patrick Steyaert, Kim Mens

More information

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 COURSE TITLE : SOFTWARE ENGINEERING COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Software engineering discipline evolution

More information

Run-time Variability Issues in Software Product Lines

Run-time Variability Issues in Software Product Lines Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.

More information

Understanding Software Static and Dynamic Aspects

Understanding Software Static and Dynamic Aspects Understanding Software Static and Dynamic Aspects Welf Löwe IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe Germany loewe@ira.uka.de Andreas Ludwig IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe

More information

A Visualization Approach for Bug Reports in Software Systems

A Visualization Approach for Bug Reports in Software Systems , pp. 37-46 http://dx.doi.org/10.14257/ijseia.2014.8.10.04 A Visualization Approach for Bug Reports in Software Systems Maen Hammad 1, Somia Abufakher 2 and Mustafa Hammad 3 1, 2 Department of Software

More information

Program Understanding with Code Visualization

Program Understanding with Code Visualization Program Understanding with Code Visualization Arif Iftikhar Department of Computer Science National University of Computer and Emerging Sciences 852-B Faisal Town, Lahore, Pakistan l060802@lhr.nu.edu.pk

More information

COCOVILA Compiler-Compiler for Visual Languages

COCOVILA Compiler-Compiler for Visual Languages LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618

More information

CSC408H Lecture Notes

CSC408H Lecture Notes CSC408H Lecture Notes These lecture notes are provided for the personal use of students taking Software Engineering course in the Summer term 2005 at the University of Toronto. Copying for purposes other

More information

Development of Tool Extensions with MOFLON

Development of Tool Extensions with MOFLON Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de

More information

A Framework for Obtaining the Ground-Truth in Architectural Recovery

A Framework for Obtaining the Ground-Truth in Architectural Recovery A Framework for Obtaining the Ground-Truth in Architectural Recovery Joshua Garcia, Ivo Krka, and Nenad Medvidovic Computer Science Department, University of Southern California, Los Angeles, CA 90089,

More information

Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique

Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique Hyeon Soo Kim School of Comp. Eng. and Software Eng., Kum Oh National University

More information

Mining a Change-Based Software Repository

Mining a Change-Based Software Repository Mining a Change-Based Software Repository Romain Robbes Faculty of Informatics University of Lugano, Switzerland 1 Introduction The nature of information found in software repositories determines what

More information

The Service Revolution software engineering without programming languages

The Service Revolution software engineering without programming languages The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)

More information

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets

More information

Doctoral Education @Aix-Marseille University 8th EUA-CDE Workshop Regional Engagement and Doctoral Education

Doctoral Education @Aix-Marseille University 8th EUA-CDE Workshop Regional Engagement and Doctoral Education @Aix-Marseille University 8th EUA-CDE Workshop Regional Engagement and Mossadek Talby* & Christophe Muller** Directors of the Doctoral Schools *352: Physics and Materials Science **353: Engineer Science

More information

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics: Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations

More information

How to simplify the evolution of business process lifecycles

How to simplify the evolution of business process lifecycles How to simplify the evolution of business process lifecycles Dr Alexander Samarin Independent consultant, Switzerland www.improving-bpm-systems.com samarin@bluemail.ch Abstract. My experience shows that

More information

API Architecture. for the Data Interoperability at OSU initiative

API Architecture. for the Data Interoperability at OSU initiative API Architecture for the Data Interoperability at OSU initiative Introduction Principles and Standards OSU s current approach to data interoperability consists of low level access and custom data models

More information

OVERVIEW OF JPSEARCH: A STANDARD FOR IMAGE SEARCH AND RETRIEVAL

OVERVIEW OF JPSEARCH: A STANDARD FOR IMAGE SEARCH AND RETRIEVAL OVERVIEW OF JPSEARCH: A STANDARD FOR IMAGE SEARCH AND RETRIEVAL Frédéric Dufaux, Michael Ansorge, and Touradj Ebrahimi Institut de Traitement des Signaux Ecole Polytechnique Fédérale de Lausanne (EPFL)

More information

Parsing Technology and its role in Legacy Modernization. A Metaware White Paper

Parsing Technology and its role in Legacy Modernization. A Metaware White Paper Parsing Technology and its role in Legacy Modernization A Metaware White Paper 1 INTRODUCTION In the two last decades there has been an explosion of interest in software tools that can automate key tasks

More information

INNOVATOR. The integrated tool suite for business process and software engineering

INNOVATOR. The integrated tool suite for business process and software engineering The integrated tool suite for business process and software engineering Use the synergy: The integrated tool suite for business process and software engineering is the only integrated tool suite for business

More information

Managing the Services Lifecycle SOA & BPM

Managing the Services Lifecycle SOA & BPM Managing the Services Lifecycle SOA & BPM Agenda The service Lifecycle what does it look like? Methods and processes for service evolution Supporting tools & techniques Governing the service-cycle Best

More information

Clone Detection in a Product Line Context

Clone Detection in a Product Line Context Clone Detection in a Product Line Context Thilo Mende, Felix Beckwermert University of Bremen, Germany {tmende,beckwermert}@informatik.uni-bremen.de Abstract: Software Product Lines (SPL) can be used to

More information

Ghizlane El Boussaidi http://pages.videotron.com/ghizlane/ 3207, boul. Lévesque Est Phone : (450) 661-4397

Ghizlane El Boussaidi http://pages.videotron.com/ghizlane/ 3207, boul. Lévesque Est Phone : (450) 661-4397 Ghizlane El Boussaidi http://pages.videotron.com/ghizlane/ 3207, boul. Lévesque Est Phone : (450) 661-4397 Laval, Québec, Canada email : gelboussaidi@gmail.com H7E 2P4 Citizenship: Canadian EDUCATION Ph.D.

More information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu

More information

An empirical study of fine-grained software modifications

An empirical study of fine-grained software modifications An empirical study of fine-grained software modifications Daniel M. German Software Engineering Group Department of Computer Science University of Victoria Victoria, Canada dmgerman@uvic.ca Abstract Software

More information

Chapter 9 Software Evolution

Chapter 9 Software Evolution Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes

More information

Comprensione del software - principi base e pratica reale 5

Comprensione del software - principi base e pratica reale 5 Prologue C era una volta Comprensione del software - principi base e pratica reale Reverse engineer 1 200 000 lines of C++ code in ca. 2300 classes * 2 = 2 400 000 seconds / 3600 = 667 hours 667 hours

More information

Service-oriented architecture in e-commerce applications

Service-oriented architecture in e-commerce applications Service-oriented architecture in e-commerce applications What is a Service Oriented Architecture? Depends on who you ask Web Services A technical architecture An evolution of distributed computing and

More information

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Business-Driven Software Engineering Lecture 3 Foundations of Processes Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster jku@zurich.ibm.com Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

Wednesday, September 29, 2010. Thanks for being here!

Wednesday, September 29, 2010. Thanks for being here! Thanks for being here! Thanks Citilab Thanks Joan Guell (Smalltalker - Citilab) Jose Garcia (Smalltalker - Citilab) Marina Conde (Smalltalker - Citilab) Victor Casado (Smalltalker - Citilab) Maria Josep

More information