Transformational Software Evolution by Assertions

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab GraBaTS08 Eugene Syriani Hans Vangheluwe.
1 Formalising Behaviour-Preserving Object-Oriented Program Transformations Tom Mens( ) Postdoctoral Fellow – Fund for Scientific Research.
1 A Graph Rewriting Formalism for Object-Oriented Software Evolution Tom Mens FWO Postdoctoral Fellow Programming Technology Lab Vrije.
1 A Formal Foundation for Software Refactoring Tom Mens, Serge Demeyer, Dirk Janssens serge.demeyer | dirk.janssens Programming.
Detailed Design Kenneth M. Anderson Lecture 21
Overview. Why data structures is a key course Main points from syllabus Survey Warmup program And now to get started...
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Using JML Runtime Assertion Checking to Automate Metamorphic Testing in Applications without Test Oracles Christian Murphy, Kuang Shen, Gail Kaiser Columbia.
Modeling challenges: Compliance (1/2) Compliance management has emerged as a major problem following major corporate governance scandals (e.g. Enron, WorldComm)
Unit Testing CS 414 – Software Engineering I Don Bagert Rose-Hulman Institute of Technology January 16, 2003.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Chapter 9 – Software Evolution and Maintenance
A Survey of Software Refactoring Tom Mens, Tom Tourwé
1 Modularity in Abstract Software Design: A Theory and Applications Yuanfang Cai Dept. of Computer Science University of Virginia Dissertation Proposal.
Project Proposal: CTS2 SDK Presentation to OHT Steering Committee.
Formal Analysis of Problem Domain Workflows Uldis Donins Riga Technical University Baltic DB & IS 2012, July 8-11, Vilnius, Lithuania This work.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
4.4 Equations as Relations
Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Notes Over 8.4 Rewriting Logarithmic Equations Rewrite the equation in exponential form.
Formal Foundations for Software Evolution Programming Technology Lab Tom Mens
Composition of UML Described Refactoring Rules Presented by Chin-Yi Tsai.
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
Object Oriented Multi-Database Systems An Overview of Chapters 4 and 5.
International Workshop on Principles of Software Evolution1Vienna, 11 September 2001 Evolution Metrics Tom Mens Programming Technology Lab Vrije Universiteit.
CSC 480 Software Engineering Design by Contract. Detail Design Road Map Begin with architectural models  Class model: domain classes  Overall state.
CASE/Re-factoring and program slicing
The inverse function of an Exponential functions is a log function. The inverse function of an Exponential functions is a log function. Domain: Range:
Logarithmic Functions
Katholieke Universiteit Leuven112 April 2000 Research Topics in Software Evolution Dr. Tom Mens FWO Postdoctoral Fellow Programming Technology Lab Vrije.
WARM-UP: USE YOUR GRAPHING CALCULATOR TO GRAPH THE FOLLOWING FUNCTIONS Look for endpoints for the graph Describe the direction What is the shape of the.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 2.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
SWE 4743 Abstract Data Types Richard Gesick. SWE Abstract Data Types Object-oriented design is based on the theory of abstract data types Domain.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Reuse Contracts A Historic Overview Dr. Tom Mens Programming Technology Lab Vrije Universiteit Brussel Course OOSE.RC EMOOSE
FFSE 2001 – Workshop Schedule --- MORNING --- 9:30Opening + Welcome 9:402 long presentations (Kahl, García-Cabrera) + discussion 11:00Coffee break 11:30long.
Formal Foundations for Software Evolution Programming Technology Lab Tom Mens
October 19, 1998Doctoral Symposium OOPSLA’98 Kim Mens Intentional annotations for evolving object-oriented software Kim Mens Programming Technology Lab.
2000 Research Overview Dr. Kim Mens Programming Technology Lab Vrije Universiteit Brussel.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Chapter 1 The Phases of Software Development. Software Development Phases ● Specification of the task ● Design of a solution ● Implementation of solution.
A Formalism for Transformational Software Evolution Programming Technology Lab Vrije Universiteit Brussel, Belgium Tom Mens
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Chapter 3 of Programming Languages by Ravi Sethi
WP3: D3.1 status, pending comments and next steps
Software Testing.
SOFTWARE DESIGN AND ARCHITECTURE
Variability-based model transformation
Programming Technology Lab, VUB
Daniel Strüber University of Koblenz and Landau
IEEE Std 1074: Standard for Software Lifecycle
Optimization Code Optimization ©SoftMoore Consulting.
Rational Functions and Their Graphs
A Declarative Evolution Framework for Object-Oriented Design Patterns
AGTIVE Workshop Conditional Graph Rewriting as a Domain-Independent Formalism for Software Evolution Tom Mens Programming Technology Lab Vrije Universiteit.
Software Architecture
A graphing calculator is required for some problems or parts of problems 2000.
1.5 Linear Inequalities.
Public PhD Defense A Formal Foundation for Object-Oriented
Inequalities and their Graphs
There are infinite solutions to the system.
CS5103 Software Engineering
Notes Over 8.3 Simplifying Natural Base Expressions
Pglo LAB REFLECTION 1. WHAT WAS THE PURPOSE OF THIS LAB? DID YOU ACCOMPLISH IT? HOW DO YOU KNOW? 2. WHAT CONTROLS DID WE USE AND WHY? 3. WHAT GENES WERE.
Linear word problems Two step
Where do these graphs intersect
Code Optimization.
Presentation transcript:

Transformational Software Evolution by Assertions Programming Technology Lab Tom Mens tommens@vub.ac.be http://prog.vub.ac.be/~tommens

Software Transformations Can be used for software evolution and upgrading refactoring and restructuring software merging Are domain-independent useful for implementation, design, analyis, software architecture Can be formalised by graph rewriting

Problem and Proposed Solution Need for scalability To deal with industrial large-size software systems Approach Express software transformations in terms of assertions only (i.e., pre-, postconditions and invariants) Calculate dependencies in a transformation sequence based on these assertions Treat transformation sequences as atomic transformations by calculating their assertions

Advantages Uniform treatment of transformations and transformation sequences e.g. to detect conflicts between parallel evolutions Dependencies can be used to remove redundancy in a transformation sequence to factor out commonalities between parallel sequences to detect independent subsequences that can be parallellised

Position Statement Scalability and domain-independence are important in software evolution Formal foundations should try to address both Efficiency and usability of tools should not be sacrificed Graphs + graph rewriting seems suitable as a uniform underlying formalism for software evolution