Computer Science Colloquium
Time+Place : Sunday 01/01/2012 14:30 room 337-8 Taub  Bld.
Speaker    : Shahar Maoz
Affiliation: Department of Computer Science 3, RWTH Aachen University,
Host       : Shmuel Katz
Title      : Semantic Model Differencing for Software Evolution
Abstract   :
Model-driven software engineering promotes the use of models throughout a
software system's lifecycle.  Due to iterative development methodologies,
changing requirements, and bug fixes, these models continuously evolve
during system's design, development, and maintenance phases. Fundamental
building blocks for an analysis of their evolution are differencing
operators one can use to compare two versions of a model.
Existing approaches to model differencing concentrate on heuristics matching
between model elements and on finding and presenting differences at a
concrete or abstract syntactic level. While showing some success, these
approaches are also limited:  models that are syntactically very similar may
induce very different semantics (in the sense of 'meaning'), and vice versa,
models that semantically describe the same system may have rather different
syntactic representations.  Thus, a list of syntactic differences, although
accurate, correct, and complete,  may not be able to reveal the real
implications these differences may have on the  correctness and potential
use of the models involved.
We present our vision and recent results on developing semantic diff
operators for model comparisons: operators whose input consists of two
models and whose output is a set of diff witnesses, instances of one model
that are not instances of the other. Diff witnesses serve as concrete proofs
for the real change between one version and another and its effect on the
meaning of the models involved.
We demonstrate our vision using two concrete diff operators, CDDiff for
class diagrams and ADDiff for activity diagrams.  CDDiff accepts two class
diagrams as input and outputs a set of diff witnesses, each of which is an
object model that is an instance of the first class diagram and not of the
second.  CDDif is computed using a reduction to Alloy, a textual modeling
language based on relational first-order logic.  ADDiff accepts two activity
diagrams as input and outputs a set of diff traces, each of which is an
execution trace possible in the first activity diagram and not possible
in the second.   ADDiff is computed using a symbolic fixpoint algorithm and
is implemented using BDDs.   CDDiff and ADDiff are presented with motivating
examples, formal definitions, algorithms, prototype implementations, and
initial evaluations.
Finally, we discuss advanced topics and challenges emerging from the
semantic differencing vision.
The presentation will summarize papers presented at ME'10, ECOOP'11,
ESEC/FSE'11, and ME'11.
Joint work with Jan Oliver Ringert and Bernhard Rumpe Department of Computer
Science 3 (Software Engineering) RWTH Aachen University, Aachen, Germany
Short bio:
Shahar Maoz is a postdoctoral research fellow with a Minerva Fellowship at
the Department of Computer Science 3 (Software Engineering), RWTH Aachen
University, Germany.  He received a BSc and MSc from Tel-Aviv University,
and a PhD (2009) in Computer Science from the Weizmann Institute of Science,
Israel. His interests include software and systems modeling, formal methods
in software engineering, and software visualization.  Shahar's research has
been published in top software engineering conferences (ASE, ECOOP, FSE) and
journals (ACM TOSEM, SoSyM).    A paper he co-authored on semantically
configurable analysis for class and object diagrams won the Springer Best
Paper Award and the ACM SIGSOFT Distinguished Paper Award at MoDELS'11.
Visit our home page-   <>
Technion Math. Net (TECHMATH)
Editor: Michael Cwikel   <> 
Announcement from: Hadas Heier   <>