Group colloquium: Defining software change

When: Jan. 9, 2018, 12:30-13:30

Where: Hal B 2A

Who: Arend Rensink

In this presentation I will take the position that it should be possible
to study software change as though it were a natural phenomenon. I
believe that a better fundamental understanding of this phenomenon is
helpful, or even necessary, in getting a grip on the evolution and
maintainability of software systems, which in turn is crucial in today's
world where legacy systems are found to be an increasing problem.

The first question in such a study is how to *define* software change,
the second is how to *measure* and *predict* it. In this presentation I
will address the issue of definition. As an initial idea, I will take
the view that a program (or software system) is essentially a directed
acyclic graph, or possibly even a tree, and that the change from one
program to another can be captured by partial tree morphisms (which I
will call delta). The magnitude of a change thus corresponds to the size
of a delta. On trees, this is quite similar, but not exactly the same,
as the notion of tree edit distance that is relatively well-studied.

This is very preliminary work. I'd like to use the lunch colloquium as a
brainstorm session to kill or fertilise these initial ideas.