Software Evolution Services – The SENSEI Approach

Begin: 01.01.2013


Prof. Dr. Andreas Winter
M.Sc. Jan Jelschen

Large software evolution, migration, or reengineering projects usually require a combination of different techniques to analyze, reverse engineer, transform, and visualize (legacy) software systems under evolution. As each project has different goals, toolchains supporting their processes need to be tailored individually to their specific requirements. Many tools exist, yet mostly only implement a single technique, and are usually not designed for interoperability. Therefore, for each project, a toolchain has to be built by selecting the techniques required, finding appropriate tools implementing them, and then integrating these tools. With little to no means of interoperability, this involves creating a lot of glue code and data transformations to “wire up” all tools in the desired ways, a tedious and error-prone task. It yields brittle and inflexible toolchains, as extending or changing the toolchain, or swapping one tool for an alternative implementation, will require to also write new glue code. Consequently, this code is also non-reusable, as it is usually hard-wired to specific interfaces of the tools glued together.

The lack of tool interoperability is recognized by the software evolution research community as a general challenge of the field. So far, existing approaches were aimed at integrating on a low-level via exchange file formats, building a closed platform without the ability to easily incorporate existing tools, or leveraging similarities of certain sets of tools, limiting application range.

The proposed PhD thesis puts forward the Sensei-approach (Software EvolutioN SErvice Integration), aimed at improving software evolution tool interoperability, and largely automate toolchain integration. Based on the fact that a large body of software evolution tools exist, yet they lack sufficient interoperability means to be easily integrated into the required, tailor-made toolchain, the following two main objectives are derived:

  • Enabling software evolution practitioners to easily build toolchains tailored to their project-specific needs, focusing on the techniques to be employed, and the processes to be supported, while being as implementation-agnostic as possible, and abstract from interoperability issues.

  • Enabling tool developers to easily build tools with standardized, interoperable interfaces, or extend existing tools, with as little limitations to implementation technology choices as possible.

The approach taken towards these objectives is based on viewing software evolution techniques as services, to abstract from interoperability issues. It entails

  1. surveying tools and techniques, and compiling them into a catalog of standardized software evolution services,
  2. utilizing existing, component-based technology to provide an integration framework using the catalog as a basis, and
  3. providing a means to describe software evolution processes in terms of coordinated services, and to automatically generate toolchains based on the integration framework.

For validation, Sensei will be applied to real-world projects, e.g. for Q-MIG, a joint venture of University of Oldenburg’s software engineering group and pro et con GmbH, aimed at investigating the quality of software under migration, and building an integrated toolchain to support it. Furthermore, Sensei is thought to be applicable beyond the field of software evolution. To put this claim to the test, it is planned to apply the approach to at least one different field, e.g. toolchains supporting the development of energy-efficient applications, as well as a self-application.


Completed Theses


[inproceedings]   BibTeX    Paper Paper
Cover Hebig, Kimberly; Winter, Andreas; Kuryazov, Dilshodbek; Sandau, Alexander:
Development of a catalog describing and classifying mobility services in the NEMo project,
In: Bungartz, Hans-Joachim; Kranzlmüller, Dieter; Weinberg, Volker; Weismüller, Jens; Wohlgemuth, Volker (eds):
Adjunct Proceedings of the 32nd EnviroInfo conference, Environmental Informatics: Techniques and Trends, Garching (Munich), Shaker, September 2018.
[inproceedings]   BibTeX    Paper Paper
Cover Akyol, Ali; Halberstadt, Jantje; Hebig, Kimberly; Jelschen, Jan; Winter, Andreas; Sandau, Alexander; Marx Gómez, Jorge:
Flexible Software Support for Mobility Services, In: , no. 275, GI-Edition - Lecture Notes in Informatics (LNI), Chemnitz, Gesellschaft für Informatik, September 2017.
[inproceedings]   BibTeX    Paper Paper
Cover Akyol, Ali; Halberstadt, Jantje; Hebig, Kimberly; Kuryazov, Dilshodbek; Jelschen, Jan; Winter, Andreas; Sandau, Alexander; Marx Gómez, Jorge:
Flexible Software Support of Imovated Mobility Business Models, In: , no. 31, Adjunct proceedings of the 31st EnviroInfo conference, pp. 27-34, Luxembourg, Shaker Verlag, September 2017.
[inproceedings]   BibTeX    Paper Paper
Cover Jelschen, Jan; Küpker, Christoph; Winter, Andreas; Sandau, Alexander; Wagner vom Berg, Benjamin; Marx Gómez, Jorge:
Towards a Sustainable Software Architecture for the NEMo Mobility Platform,
In: Wohlgemuth, Volker; Fuchs-Kittowski, Frank; Wittmann, Jochen (eds):
Environmental Informatics, Stability, Continuity, Innovation, Reihe: Umweltinformatik, pp. 41-48, Herzogenrath, Shaker, September 2016. ISBN: 978-3-8440-4687-8.
[article]   BibTeX    Paper Paper
Cover Jelschen, Jan; Meier, Johannes; Winter, Andreas:
SENSEI Applied: An Auto-Generated Toolchain for Q-MIG, vol. 35, no. 2, In: Softwaretechnik-Trends, pp. 39-40, May 2015.
[inproceedings]   BibTeX    Paper Paper
Cover Jelschen, Jan:
Service-Oriented Toolchains for Software Evolution, In: Proceedings of the 9th IEEE Symposium on the Maintenance and Evolution of Service-Oriented Systems and Cloud-Based Environments (MESOCA 2015) , p. 51‚ Nr58, Bremen, Germany, IEEE, 2015.
[inproceedings]   BibTeX    Paper Paper
Cover Jelschen, Jan; Winter, Andreas:
Modeling Service Capabilities for Software Evolution Service Integration, In: Softwaretechnik Trends, vol. 34, no. 2, pp. 91-92, Bonn, Gesellschaft für Informatik, May 2014.
[inproceedings]   BibTeX    Paper Paper
Cover Jelschen, Jan:
SENSEI: Software Evolution Service Integration, In: CSMR-WCRE Software Evolution Week, pp. 469-472, Antwerp, Belgium, IEEE, 2014.
[inproceedings]   BibTeX    Paper Paper
Cover Jelschen, Jan:
Discovery and Description of Software Evolution Services, In: Softwaretechnik Trends, vol. 33, no. 2, pp. 59-60, Bonn, Gesellschaft für Informatik, May 2013.
[inproceedings]   BibTeX    Paper Paper
Cover Jelschen, Jan; Ostendorp, Marie-Christin; Meier, Johannes; Winter, Andreas:
A Description Model for Software Evolution Services, In: 1er Congreso Nacional de Ingeniería Informática / Sistemas de Información , pp. 1-12, Cordoba, Argentina, ISSN 2346-9927, RIISIC, 2013.
[inproceedings]   BibTeX    Paper Paper
Cover Jelschen, Jan; Winter, Andreas:
A Toolchain for Metrics-based Comparison of COBOL and Migrated Java Systems, In: Softwaretechnik Trends, vol. 32, no. 2, pp. 67-68, Bonn, Gesellschaft für Informatik, May 2012.
[inproceedings]   BibTeX    Paper Paper
Cover Jelschen, Jan; Winter, Andreas:
Towards a Catalogue of Software Evolution Services, In: Softwaretechnik Trends, vol. 31, no. 2, pp. 36-37, Bonn, Gesellschaft für Informatik, May 2011.

Weqctzbmyyvxrasjuzxter (meier@se.unalnmei-wholdenbhoa0urg2zb.deof2) (Changed: 2019-09-05)