Achtung:

Sie haben Javascript deaktiviert!
Sie haben versucht eine Funktion zu nutzen, die nur mit Javascript möglich ist. Um sämtliche Funktionalitäten unserer Internetseite zu nutzen, aktivieren Sie bitte Javascript in Ihrem Browser.

Show image information

Research

Adaptive UIs

Contact Person: Enes Yigitbas

Interactive systems are an integral part of our daily lives today. The simple and intuitive operation of the user interface (UI) of interactive systems is critical for user acceptance. However, the UI of interactive systems becomes increasingly complex as many heterogeneous and dynamically changing contexts of use (platform, user, environment) have to be supported. It is no longer sufficient to provide a single “one-size-fits-all” UI. Therefore, adaptive UIs have been promoted as an innovative solution for context variability due to their ability to automatically adapt to the context of use at runtime. Allowing a flexible and personalized user experience in this manner requires UI adaptivity features to monitor context changes in platform, user and environment parameters and to automatically react to these changes by adapting the UI at runtime.

The development of adaptive UIs demands for sophisticated engineering processes and methods. Therefore, we are applying and extending model-driven software development techniques to support the efficient development of adaptive UIs in a systematic, precise and appropriately formal way. Key aspects of our investigation are modeling, transformation, execution and evaluation of adaptive UIs. In this regard, we are working on the following topics:

  • Domain specific languages (DSLs) to specify adaptive UIs,
  • Transformation methods (M2M/M2T transformations) to process/adapt UI models and generate code for adaptive UIs,
  • UI architectures and UI execution frameworks for adaptive UIs,
  • Usability evaluation methods for adaptive UIs.
Business Process Management

Contact Person: Florian Rittmeier

Introduction

Business Process Management (BPM) describes a holistic approach to maintain and develop business processes along the entire process life cycle. This ranges from process elicitation and modeling to the analysis, evaluation, identification and implementation of improvement potentials. Thereby, state-of-the-art approaches on process mining and pattern-based process analysis are crucial.

Contribution

In the field of BPM, we collaborate with other disciplines from business economics to business informatics.

Methods of BPM enable firms to advance the digitalization of their business processes and encounter the digital transformation. Thereby, the systematic analysis of processes and business data play an important role. We investigate and further develop methods to identify existing process weaknesses and support the digitalization of business processes with a particular focus on small and medium-sized enterprises. Examples of such digitalization potentials are the improvement of data flow, decision support through the use of assistance systems as well as the closure of media breaks.

Topics

  • Business Process Improvement (BPI)
  • Process Weakness Patterns
  • Business Process Discovery

Selected Papers

  • Florian Rittmeier and Gregor Engels and Alexander Teetz: Effective and Efficient Identification of Digitalization Potentials in Business Processes. In German. In Modellierung (Workshops). Vol. 2060. CEUR Workshop Proceedings. CEUR-WS.org. 2018, pp. 215-221.
Crowdsourcing

Contact Person: Zahra Nouri

Introduction

The concept of crowdsourcing was introduced in 2006 by Jeff Howe. After some years, it became prevalent with the aim of providing solutions or services with lower cost and higher creativity to organizations and individuals problems. Crowdsourcing is an innovative outsourcing model in which the organizational tasks are outsourced to a large group of unknown people using an online platform instead of to one or several known companies.

A crowdsourcer (i.e., an individual or an organization) starts the basic process of crowdsourcing by broadcasting a task in the form of an open call to the crowd via a web-based crowdsourcing platform. Subsequently, the interested workers accept the task, create the expected result and then submit the result. The submitted results are then evaluated and accepted on certain conditions and the winners gain the predetermined prize.

In comparison with the in-house and traditional work form, crowdsourcing is a form of outsourcing model in which the organizations have access to an unlimited pool of people as potential workers, while the workers can freely select a task based on their personal skills, abilities and interest from an enormous set of available tasks.

We focus on crowdsourcing platforms and we aim at designing a reference architecture which defines the structure and a comprehensive functionality of future crowdsourcing platforms.

Topics

  • Reference architecture and Functionality design of crowdsourcing platforms
  • Interactions and communication between crowdsourcers and crowdsourcees
Data Quality of Knowledge Bases

Contact Person: Stefan Heindorf

Knowledge bases store general knowledge in machine-readable form. Famous examples include Wikidata, DBpedia and Yago which are used by web search engines to display quick answer boxes and by virtual assistants to answer factual questions. However, as of today, all major knowledge bases suffer from quality problems: data is incorrect, incomplete, or inconsistent.

In our research, we develop innovative approaches to improve the quality of knowledge bases. For example, we develop a software system to automatically detect vandalism in Wikidata. For doing so, we compiled a vandalism corpus containing over 100,000 cases of malicious edits in Wikidata, we engineered 47 features to characterize vandalism and we developed a machine learning-based approach to detect it automatically. Moreover, we organized a data science challenge inviting participants from all over the world to submit innovative approaches and we evaluated them in a standardized way. In the future, we plan to tackle further quality dimensions of knowledge bases such as consistency and completeness. To summarize, topics include:

  • Quality of knowledge bases (e.g., correctness, completeness, and consistency)
  • Data science and machine learning for knowledge bases
  • Vandalism detection in knowledge bases
Digital Twins

Contact Person: Klementina Josifovska

The term ‘Digital Twin’ initially is introduced in the context of Industry 4.0 as a framework for establishing efficient Cyber-Physical integration. It is defined as a framework for mirroring the behavior of the physical systems as close as possible in the virtual world. Until now, most of the research approaches focus on the development of Digital Twins of physical products or processes, which integrate with the existing Cyber-Physical Systems and provide appropriate knowledge and possibilities for optimization of the business processes. However, the existing Cyber-Physical Systems (CPS) are not designed to offer personalized assistance for the individuals in the workplace, since the CPS don’t possess enough knowledge about the human workers and their individual skills, capabilities and preferences.

In our research group, we focus on extending the term ‘Digital Twin’ by incorporating the human factor in order to develop innovative software solutions for providing personalized assistance for the human workers. The ‘Digital Twin of a Human’, as a framework, should be integrated with the existing Cyber-Physical and Assistance Systems in order to provide accurate knowledge about every individual, such that they can receive appropriate personalized and context-specific assistance in the workplace. For this purpose, we systematically approach the problem space, by targeting the following topics:

  • Establishing a Reference Model of the ‘Digital Twin of a Human’ for efficient integration with the existing Cyber-Physical and Assistance Systems
  • Developing a Software Architecture for the ‘Digital Twin of a Human’
  • Developing Domain Specific Languages for specifying the ‘Digital Twin of a Human’
  • Developing software techniques for accurate knowledge extraction for the ‘Digital Twin of a Human’, based on the established models

To achieve our objectives, we apply appropriate software engineering methods and techniques and incorporate approaches from the fields of Requirements Engineering, Human-Centered Software Engineering, Model-driven Software Development, Digital Assistance Systems and Adaptive UIs.

Digital Assistance Systems

Contact Person: Holger Fischer

Introduction

With economic and industrial change and the associated digitalization of human workflows, the demand for a stronger focus on people in particular is increasing. The aim of digital assistance systems is to create better support for the employees in their everyday working life with usable, smart and self-descriptive tools, without the need to develop or adapt the training or qualification opportunities. Already at the conception stage, digital assistance systems should be designed through participatory software engineering, including usability and user experience techniques, in such a way that the resulting assistance systems support people collaboratively in their added value. The essential task of an assistance system is to provide information quickly and continuously, so that employees are supported in their work and can fully concentrate on their core competences. What is particularly important here is the traceability of systems’ decisions for the employee and the associated feeling of fair treatment.

Contribution

We are working on iterative approaches combining software engineering paradigms like human-centered design, agility and DevOps to address the challenge of fostering the communication between all people involved in designing and developing adequate and usable digital assistance systems (e.g. manager, supervisors, work councils, system integrators, employees).

(see also Human-Centered Software Engineering).

Topics

  • Human-centered design (HCD) of interactive systems
  • Individual and organizational acceptance criteria for work 4.0
  • Quality models for usability and user experience
  • Employee participation in the development of assistance systems

Selected Publications

  • Holger Fischer and Björn Senft and Florian Rittmeier and Stefan Sauer: A Canvas Method to Foster Interdisciplinary Discussions on Digital Assistance Systems. In Proceedings of the 20th International Conference on Human-Computer Interaktion (HCI International 2018). Springer, LNCS, vol. 10918, pp. 711-724 (2018)
  • Holger Fischer and Michael Engler and Stefan Sauer: A Human-Centered Perspective on Software Quality: Acceptance Criteria for Work 4.0. In Proceedings of the 19th International Conference on Human-Computer Interaktion (HCI International 2017). Springer, LNCS, vol. 10288, pp. 570-583 (2017) 
  • Holger Fischer and Björn Senft and Katharina Stahl: Akzeptierte Assistenzsysteme in der Arbeitswelt 4.0 durch systematisches Human-Centered Software Engineering. In Eric Bodden and Falko Dressler and Roman Dumitrescu and Jürgen Gausemeier and Friedhelm Meyer auf der Heide and Christoph Scheytt and Ansgar Trächtler (eds.): Wissenschafts- und Industrieforum 2017 - Intelligente Technische Systeme. Verlagsschriftenreihe des Heinz Nixdorf Instituts (Paderborn), vol. 369, pp. 197-210 (2017)
  • Holger Fischer and Björn Senft: Human-Centered Software Engineering as a Chance to Ensure Software Quality Within the Digitization of Human Workflows. In Human-Centered and Error-Resilient Systems Development. Proceedings of the 6th International Conference on Human-Centered Software Engineering (HCSE). Springer, LNCS, vol. 9856, pp. 30-41 (2016) 

Domain Specific Languages

Contact Person: Simon Schwichtenberg

Introduction

Domain Specific Languages (DSLs) are formal languages which are used to model a particular problem domain. In contrast to universal programming languages, they serve the purpose of describing the considered domain as precisely as possible without covering domain-external areas. The explicit formalization of the problem domain also enables automatic processing of domain models. These properties support the development of innovative solutions for relevant issues within the domain.

Contribution

With our research group, we use and develop DSLs in various fields of work.

One topic deals with the assessment and analysis of processes in the field of additive manufacturing. In this application, the DSL is used to simplify the communication between different process stakeholders, like mechanical engineers and programmers. Modeling the domain provides the basis for optimal development of software and engineering solutions.

Another subject is the development of adaptive user interfaces (Adaptive UIs). In this context, we created a DSL for the specification of various context-of-use situations representing contextual parameters like user, platform and environment. In addition to that, we have also developed a DSL to support the modeling of UI adaptation rules which describe how the user interfaces of an interactive system can be adapted at runtime.

Even in the field of consistency management, DSLs have a great influence. Developing complex software systems often requires input from experts in different domains, typically working with their own special tools, domain-specific concepts, notations, and standardized formats. Domain specific languages (DSLs) are an ideal way to capture these independent but related parts of the system as formal models, enabling a wide range of model management techniques. Consistency management techniques can be used to formalize inter-model relations and enable automated consistency checking and even consistency restoration via appropriate update propagation. The research area of consistency management is known as “bidirectional transformations” (bx) and covers diverse approaches such as lenses, triple graph grammars, and constraint solving.

Topics

  • Modeling of Design Rules for Additive Manufacturing with DSLs
  • Adaptive User Interfaces
  • Consistency management
Human-Centered Software Engineering (HCSE)

Contact Person: Holger Fischer

Introduction

Nowadays, a technological development boost can be observed within information technology and its application possibilities, e.g. in industrial manufacturing or business software. This development results in a digitalization of economic processes as well as human workflows. Furthermore, the discussion of “Arbeit 4.0” (en. Work 4.0) about the level of digital assistance and automation leads to an ongoing change of work tasks and responsibilities of employees. Decision makers will have to focus on organizational, human and technological aspects to ensure acceptance of digital solutions both by organizations and their employees. Despite all efforts, today’s digital systems still suffer from missing or unused functionality, bad usability, or negative user experience. Current software engineering methods as well as organizational cultures seem to be insufficient to address the challenges of the digital transformation and thereby inhibit innovations.

Contribution

We are working on iterative approaches combining software engineering paradigms like human-centered design, agility and DevOps to address these challenges. One objective is to establish an employee-centered participation, where employees co-create the change toward the digitization of their work. Furthermore, decision makers will be supported in their decisions as well as enabled to build digital tools that are of good quality, are accepted by their employees and are of value for the company itself.

Topics

  • Human-centered design (HCD) of interactive systems
  • Individual and organizational acceptance criteria for work 4.0
  • Quality models for usability and user experience
  • Employee participation in the development of assistance systems

Selected Publications

  • Holger Fischer and Björn Senft and Florian Rittmeier and Stefan Sauer: A Canvas Method to Foster Interdisciplinary Discussions on Digital Assistance Systems. In Proceedings of the 20th International Conference on Human-Computer Interaction (HCI International 2018). Springer, LNCS, vol. 10918, pp. 711-724 (2018)
  • Holger Fischer and Michael Engler and Stefan Sauer: A Human-Centered Perspective on Software Quality: Acceptance Criteria for Work 4.0. In Proceedings of the 19th International Conference on Human-Computer Interaction (HCI International 2017). Springer, LNCS, vol. 10288, pp. 570-583 (2017)
  • Holger Fischer and Björn Senft and Katharina Stahl: Akzeptierte Assistenzsysteme in der Arbeitswelt 4.0 durch systematisches Human-Centered Software Engineering. In Eric Bodden and Falko Dressler and Roman Dumitrescu and Jürgen Gausemeier and Friedhelm Meyer auf der Heide and Christoph Scheytt and Ansgar Trächtler (eds.): Wissenschafts- und Industrieforum 2017 - Intelligente Technische Systeme. Verlagsschriftenreihe des Heinz Nixdorf Instituts (Paderborn), vol. 369, pp. 197-210 (2017) 
  • Holger Fischer and Björn Senft: Human-Centered Software Engineering as a Chance to Ensure Software Quality Within the Digitization of Human Workflows. In Human-Centered and Error-Resilient Systems Development. Proceedings of the 6th International Conference on Human-Centered Software Engineering (HCSE). Springer, LNCS, vol. 9856, pp. 30-41 (2016) 
  • Holger Fischer and Mirko Rose and Enes Yigitbas: Towards a Task Driven Approach Enabling Continuous User Requirements Engineering. In Joint Proceedings of the REFSQ 2016 Co-Located Events. 2nd Workshop on Continuous Requirements Engineering (CRE). CEUR-WS, vol. 1564 (2016)
Model-Driven Software Engineering

Contact Person: Prof. Dr. Gregor Engels

Introduction

A systematic software development process is a stepwise refinement process, where user requirements are refined by analysis and design specifications, are realized by a software system, and finally tested by using test data. Each of these artefacts represents a model at a certain abstraction level, which is described by using a general-purpose or domain-specific modeling language.

Modern software development processes follow an agile approach, where the overall functionality of a software system is decomposed into features and where features are separately realized. This leads to new organizational forms, new process models, and new types of artefacts.

Contributions

In our group, we work on meta model-based concepts and techniques for developing

  • situational process models,
  • domain-specific modeling languages,
  • model-driven user interface development
  • model-driven testing, and
  • model-driven software modernization.
Method Engineering

Contact Person: Prof. Dr. Gregor Engels

Foundations of our Research

Research on novel techniques, languages, methods, and tools in the Software Engineering domain is based on existing research techniques. These are

  • Meta model based approaches to define the syntax of domain-specific languages
  • Model transformations, based on the concept of graph transformations, to describe the allowed changes of models or the semantics of DSLs (dynamic meta modeling)
  • Logic-based approaches to describe static or dynamic/transitional constraints of models
  • Variability or feature models to describe possible variants
  • Architectural styles (like MAPE-K) to describe typical solution architectures
  • Deterministic operational or machine learning approaches to describe algorithms
  • Structured methods (e.g. Kitchenham) to conduct literature surveys
  • Empirical methods (e.g. questionnaires, user studies) to analyze and evaluate
Requirements Engineering

Contact Person: Dr. Lorijn van Rooijen

Introduction

Requirements engineering provides languages and techniques to bridge the gap between informal, imprecise, and vague user expectations on the one hand and precise formalized specifications on the other hand. These formal specifications are used in succeeding software development steps to realize a software system according to the needs of future users. Typically, requirements engineers support end-users in identifying their needs on a software solution and formalize these into specific requirements. Approaches to improve the step from imprecise to precise descriptions range from domain-specific, structured requirements description languages, over less operational, more descriptive, goal-oriented approaches, up to novel iterative, agile methods.

Contribution

Our research group contributes to three major areas in the field of requirements engineering.

  1. Empowering end-users to produce behavioral requirements specifications on their own. This work is embedded in a multidisciplinary Collaborative Research Center called On-The-Fly (OTF) Computing. The overall objective here is to do research on automating the whole software development and deployment process, within a specific domain, in envisioned future software service markets.
  2. Novel software solutions present the challenge that the exact requirements and problems only become clear when the solution is used. Hence, we are developing requirements elicitation techniques that foster the participation of the end users. With the help of explorative and experimental approaches, we empower the discovery of underlying actual user needs and their possible matching solutions. This increases the likelihood that these software solutions will result in an innovation accepted by end users on the market.
  3. To succeed in competition with other companies, it is necessary for companies to exploit digitization potentials in their business processes. We develop methods for requirements analysis regarding the use of digital solutions to improve the quality of business processes.

Topics

  • Human-centered software engineering
  • Design Thinking
  • Evolutionary Software Systems
  • Experimentation
  • Artificial Intelligence for Requirements Engineering
  • Business Process Improvement

Selected Publications

  • Holger Fischer and Björn Senft and Florian Rittmeier and Stefan Sauer: A Canvas Method to Foster Interdisciplinary Discussions on Digital Assistance Systems. In Proceedings of the 20th International Conference on Human-Computer Interaktion (HCI International 2018). Springer, LNCS, vol. 10918, pp. 711-724 (2018)
  • Lorijn van Rooijen and Frederik Simon Bäumer and Marie Christin Platenius and Michaela Geierhos and Heiko Hamann and Gregor Engels: From User Demand to Software Service: Using Machine Learning to Automate the Requirements Specification Process. In Fourth International Workshop on Artificial Intelligence for Requirements Engineering (AIRE'17), pp. 379-385 (2017) 
  • Marcel Wever and Lorijn van Rooijen and Heiko Hamann: Active Coevolutionary Learning of Requirements Specifications from Examples. In Genetic and Evolutionary Computation Conference (GECCO), pp. 1327-1334 (2017)
  • Björn Senft and Holger Fischer and Simon Oberthür and Nitish Patkar: Assist Users to Straightaway Suggest and Describe Experienced Problems. In Proceedings of the 20th International Conference on Human-Computer Interaktion (HCI International 2018). Springer, LNCS, vol. 10918, pp. 758-770 (2018)
  • Florian Rittmeier and Gregor Engels and Alexander Teetz: Effective and Efficient Identification of Digitalization Potentials in Business Processes. In German. In Modellierung (Workshops). Vol. 2060. CEUR Workshop Proceedings. CEUR-WS.org. 2018, pp. 215-221.
Self-X Systems

Contact Person: Florian Kraus

Introduction

Self-X systems refer to complex technical systems, which are able to react to different conditions and requirements by hardware and software adaptation. These adaptations include adjustments to the environment and the users or to errors and failures within the system itself. The necessary skills and characteristics, such as Self-Optimization, Self-Configuration or Self-Healing, give these systems their name and provide them with a certain autonomy. Their design often requires an interdisciplinary approach in the fields of computer science, electrical engineering and mechanical engineering.

Our main research areas include

  • Artificial immune systems
  • Adaptive processes
  • Adaptive UIs

Artificial Immune Systems
One way of achieving self-healing properties is through so-called Artificial Immune Systems. These are employed to detect and correct errors in Self-X Systems. Inspired by their biological counterparts and based on the concepts of organic computing, their functional principle is divided into four phases:

  1. Monitoring and error detection
  2. Error evaluation and diagnosis
  3. Planning of countermeasures
  4. Execution of countermeasures

Through the use of different methods of pattern recognition and machine learning, Artificial Immune Systems are even able to learn to detect previously unknown errors and correct them autonomously.

Adaptivity Engineering for Flexible and Adaptive Processes

From a software engineering perspective, the digital transformation and especially its process specifications can be seen as a special kind of self-adaptive systems. Self-adaptive systems are able to check relevant working conditions about their internal and external factors. If any of the conditions is evaluated to be failing (or to be suboptimal), the system may start procedures to adapt own and foreign properties to accommodate.

On top of the Adaptivity Engineering approach Adapt Cases, our research focusses on a redefinition of corresponding concepts regarding four main topics:

  1. Modeling languages for specifying domain-specific process models,
  2. Operations for adaptation of business processes and their environment,
  3. Support-Patterns for flexibility issues in highly interconnected and flexible processes,
  4. Quality Assurances through interdisciplinary and innovative analysis methods

We believe that these four topics build a holistic fundament for a modern Business Process Management within the digital transformation.

Situational Method Engineering

Contact Person: Prof. Dr. Gregor Engels

Introduction

Many different software engineering methods have been defined over time and are used today. Examples of known software development methods include the Rational Unified Process (RUP), the V-Modell XT or Scrum. The diversity of existing methods shows that there is no suitable method that fits all software development projects. This is because standard methods can not sufficiently take into account the specific characteristics of a project or organization. Such characteristics are often summarized under the concept of a situation. The inability of a method to fit the situation in which it is deployed creates the risk of spending too much time or expense, or jeopardizing the quality of the software.

  • In the research field of Situational Method Engineering (SME) it is examined how situation-specific methods can be provided. There are three different types of approaches:
  • The adaptation of an existing software engineering method, either by customizing (e.g. RUP) or by predefined configuration points (e.g. V-Modell XT).
  • The composition of a software engineering method by the reuse of existing method components, which are provided by a method base (e.g. OPEN or MFESA).
  • The new development of a software engineering method.

Contributions

In particular, the second type of composing a situation-specific method is investigated in our research group, as this approach supports an appropriate degree of control and flexibility.

Software Modernization

Contact Person: Ivan Jovanovikj

Introduction

Software systems are ageing. This ageing process is characterized by the increasing gap between the requirements for a software system and its ability to fulfil these requirements. To counteract the ageing process, software systems are maintained constantly. This, however, often results in a decreased software quality and increased complexity to maintain the systems. Additionally, the facilities for alteration by the maintenance activity are limited and restrictions by the underlying technology may circumvent the fulfilment of all requirements. A solution to this problem is the migration of the legacy system into a new environment. Migration is the activity to transfer a software system into a new environment while preserving its functionality. Due to new software development concepts, that have been developed over time, the environmental changes can be quite comprehensive. An example is the change from a procedural to an object-oriented programming language or the transition towards a Service-oriented architecture (SOA). Modernization, in comparison to migration, aims not only to preserve the functionality but also to adapt the software system to the concepts of the target environment, ensuring its long-term sustainability.

The research group Database and Information Systems studies the application of model-driven software development techniques in the field of test case migration. As test cases are implemented in the same or a compatible technology as the system they are testing, they have to somehow follow the system migration, i.e., they should be co-migrated.

Contribution and Topics 

But before performing any kind of migration activity on the test cases, one should assess their value and decide whether it is beneficial to migrate the test cases at all. For this reason, we propose a context specific quality evaluation of test cases called test case quality plans [1]. We rely on a well-established methodology like GQM (Goal Question Metric) and a standardized quality model like ISO 25000 to enable creation of quality plans that can be used to evaluate quality of test cases in any context.

Due to the size of the test case set, and often missing conformity in the structure of the test cases, migration of test cases is a quite challenging task. As model-driven engineering has been established to manage those complex tasks, we apply it in the test case domain. We combine reengineering techniques and situational method engineering to provide creation and execution of context-specific migration methods for test cases [2].

As test case migration has been seen as a validation technique for system migration, a validation technique is also necessary for the test case migration. We address this problem by applying mutation analysis in order to identify erroneous test cases after their migration [3].

Publications

[1] Ivan Jovanovikj, Vishwak Narasimhan, Gregor Engels, Stefan Sauer: Context-specific Quality Evaluation of Test Cases, In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development (MODELSWARD'18) (2018).

[2] Ivan Jovanovikj, Gregor Engels, Anthony Anjorin and Stefan Sauer: Model-Driven Test Case Migration: The Test Case Reengineering Horseshoe Model, In Proceedings of the CAiSE'18 Forum at the 30th International Conference on Advanced Information Systems Engineering (CAiSE'18) (2018)

[3] Ivan Jovanovikj, Enes Yigitbas, Anthony Anjorin, Stefan Sauer: Who Guards the Guards? On the Validation of Test Case Migration. In Softwaretechnik-Trends, Proceedings of the 20th Workshop Software-Reengineering & Evolution (WSRE) (2018) 

Software Testing

Contact Person: Ivan Jovanovikj

Introduction

Testing is an important activity in software engineering as it deals with observing the execution of a software system to validate whether it behaves as intended, i.e., as specified in the requirements. Beyond the basic task of checking a sample of runs, testing encompass a variety of techniques, actors, and activities, and poses a lot of complex challenges.

With the continuous growth of the software systems regarding the complexity, pervasiveness and criticality, ensuring that it behaves according to the specified requirements, from both functional and non-functional perspective, becomes more crucial but also more difficult and expensive. Software models are used in software development for different purposes, e.g. for specifying the requirements, for documenting design aspects or for code generation. Models can also be used for testing purposes, e.g. for generating test cases and test scripts, as test oracles, and for defining test selection criteria. Model-based testing (MBT) advocates the systematic use of models for testing activities. MBT mostly uses both models design phase or explicit test models.

Contribution and Topics

In our research, we study the problem of reusing test cases in software migration projects. Firstly, we assess the quality of the existing test cases in order to decide whether to migrate them or not. We propose test case quality plans for assessment of test case quality. It is a method that relies on GQM (Goal Question Metric) and standardized quality model like ISO 25000 and enables creation of quality plans that are context-specific.

By employing software reengineering techniques and situational method engineering, we enable creation of model-driven migration methods for test case [2]. These methods are context-specific which means they are specially tailored to be executed in a certain environment for specific type of test cases. In the first step test models are extracted out of the existing test cases and then, if needed, restructuring of the test models is applied. The restructured test models are then used as basis for generating test cases for testing the migrated system.  The last step is actually model-based testing or more specifically model-driven testing.

Last but not least, we do research regarding the correctness of the test case migration. Crucial requirement in test case migration is that the migrated test cases test the same functionality of the system as before the migration, i.e., a behavioral equivalence of the test cases must be proved. To address this requirement we apply mutation testing [3], as a technique to identify false positives and false negative among the test cases, i.e., to identify test cases which identify non-existing errors and test cases that fail to identify existing errors in the migrated system.

Publications

[1] Ivan Jovanovikj, Vishwak Narasimhan, Gregor Engels, Stefan Sauer: Context-specific Quality Evaluation of Test Cases, In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development (MODELSWARD'18) (2018).

[2] Ivan Jovanovikj, Gregor Engels, Anthony Anjorin and Stefan Sauer: Model-Driven Test Case Migration: The Test Case Reengineering Horseshoe Model, In Proceedings of the CAiSE'18 Forum at the 30th International Conference on Advanced Information Systems Engineering (CAiSE'18) (2018)

[3] Ivan Jovanovikj, Enes Yigitbas, Anthony Anjorin, Stefan Sauer: Who Guards the Guards? On the Validation of Test Case Migration. In Softwaretechnik-Trends, Proceedings of the 20th Workshop Software-Reengineering & Evolution (WSRE) (2018) 

Software Architecture

Contact Person: Bahar Jazayeri

Introduction

Software architecture is the abstraction paradigm to overcome complexity during software engineering. Alongside the increasing complexity of software systems, service provision is nowadays transformed to a harmonized coordination and cooperation between software owners, partners, and independent developers. Software systems obtain open architectures by exposing their APIs, so that third-party providers can develop innovative solutions on top of them. Thereby, ecosystems of human actors and software elements are built.

Accordingly, architecture of such ecosystems consists of a large number of components from different third-party providers, each with heterogeneous interfaces. The search for suitable components and their integration into the architecture is often difficult, because the interfaces are usually incompatible.

Contribution

In the research group databases and information systems, we conduct research on various aspects of software ecosystems, as IT systems with open architecture. In particular, at a high abstraction level, we develop an innovative architecture framework that provides a comprehensive view to business and software features (BizDevOps) that are crucial to the success of ecosystems. 

Moreover, at a fine-granular level, i.e., the level of interfaces and components, we investigate how to enrich the interface specifications with semantic information that can be exploited by search engines to find suitable components that can be integrated into a complex architecture more easily. We also investigate how to automatically generate code adapters to establish interface compatibility.

Topics

  • Architectural Management of Software Ecosystems
  • Semantic enrichment of APIs and interoperability
  • Modeling and Integration of Cross-Device Systems

Former Research

The University for the Information Society