-
Human Factors in Model-Driven Engineering: Future Research Goals and Initiatives for MDE
Authors:
Grischa Liebel,
Jil Klünder,
Regina Hebig,
Christopher Lazik,
Inês Nunes,
Isabella Graßl,
Jan-Philipp Steghöfer,
Joeri Exelmans,
Julian Oertel,
Kai Marquardt,
Katharina Juhnke,
Kurt Schneider,
Lucas Gren,
Lucia Happe,
Marc Herrmann,
Marvin Wyrich,
Matthias Tichy,
Miguel Goulão,
Rebekka Wohlrab,
Reyhaneh Kalantari,
Robert Heinrich,
Sandra Greiner,
Satrio Adi Rukmono,
Shalini Chakraborty,
Silvia Abrahão
, et al. (1 additional authors not shown)
Abstract:
Purpose: Software modelling and Model-Driven Engineering (MDE) is traditionally studied from a technical perspective. However, one of the core motivations behind the use of software models is inherently human-centred. Models aim to enable practitioners to communicate about software designs, make software understandable, or make software easier to write through domain-specific modelling languages.…
▽ More
Purpose: Software modelling and Model-Driven Engineering (MDE) is traditionally studied from a technical perspective. However, one of the core motivations behind the use of software models is inherently human-centred. Models aim to enable practitioners to communicate about software designs, make software understandable, or make software easier to write through domain-specific modelling languages. Several recent studies challenge the idea that these aims can always be reached and indicate that human factors play a role in the success of MDE. However, there is an under-representation of research focusing on human factors in modelling. Methods: During a GI-Dagstuhl seminar, topics related to human factors in modelling were discussed by 26 expert participants from research and industry. Results: In breakout groups, five topics were covered in depth, namely modelling human aspects, factors of modeller experience, diversity and inclusion in MDE, collaboration and MDE, and teaching human-aware MDE. Conclusion: We summarise our insights gained during the discussions on the five topics. We formulate research goals, questions, and propositions that support directing future initiatives towards an MDE community that is aware of and supportive of human factors and values.
△ Less
Submitted 29 April, 2024;
originally announced April 2024.
-
Explanations in Everyday Software Systems: Towards a Taxonomy for Explainability Needs
Authors:
Jakob Droste,
Hannah Deters,
Martin Obaidi,
Kurt Schneider
Abstract:
Modern software systems are becoming increasingly complex and opaque. The integration of explanations within software has shown the potential to address this opacity and can make the system more understandable to end-users. As a result, explainability has gained much traction as a non-functional requirement of complex systems. Understanding what type of system requires what types of explanations i…
▽ More
Modern software systems are becoming increasingly complex and opaque. The integration of explanations within software has shown the potential to address this opacity and can make the system more understandable to end-users. As a result, explainability has gained much traction as a non-functional requirement of complex systems. Understanding what type of system requires what types of explanations is necessary to facilitate the inclusion of explainability in early software design processes. In order to specify explainability requirements, an explainability taxonomy that applies to a variety of different software types is needed. In this paper, we present the results of an online survey with 84 participants. We asked the participants to state their questions and confusions concerning their three most recently used software systems and elicited both explicit and implicit explainability needs from their statements. These needs were coded by three researchers. In total, we identified and classified 315 explainability needs from the survey answers. Drawing from a large pool of explainability needs and our coding procedure, we present two major contributions of this work: 1) a taxonomy for explainability needs in everyday software systems and 2) an overview of how the need for explanations differs between different types of software systems.
△ Less
Submitted 25 April, 2024;
originally announced April 2024.
-
Unveiling the potential of large language models in generating semantic and cross-language clones
Authors:
Palash R. Roy,
Ajmain I. Alam,
Farouq Al-omari,
Banani Roy,
Chanchal K. Roy,
Kevin A. Schneider
Abstract:
Semantic and Cross-language code clone generation may be useful for code reuse, code comprehension, refactoring and benchmarking. OpenAI's GPT model has potential in such clone generation as GPT is used for text generation. When developers copy/paste codes from Stack Overflow (SO) or within a system, there might be inconsistent changes leading to unexpected behaviours. Similarly, if someone posses…
▽ More
Semantic and Cross-language code clone generation may be useful for code reuse, code comprehension, refactoring and benchmarking. OpenAI's GPT model has potential in such clone generation as GPT is used for text generation. When developers copy/paste codes from Stack Overflow (SO) or within a system, there might be inconsistent changes leading to unexpected behaviours. Similarly, if someone possesses a code snippet in a particular programming language but seeks equivalent functionality in a different language, a semantic cross-language code clone generation approach could provide valuable assistance. In this study, using SemanticCloneBench as a vehicle, we evaluated how well the GPT-3 model could help generate semantic and cross-language clone variants for a given fragment.We have comprised a diverse set of code fragments and assessed GPT-3s performance in generating code variants.Through extensive experimentation and analysis, where 9 judges spent 158 hours to validate, we investigate the model's ability to produce accurate and semantically correct variants. Our findings shed light on GPT-3's strengths in code generation, offering insights into the potential applications and challenges of using advanced language models in software development. Our quantitative analysis yields compelling results. In the realm of semantic clones, GPT-3 attains an impressive accuracy of 62.14% and 0.55 BLEU score, achieved through few-shot prompt engineering. Furthermore, the model shines in transcending linguistic confines, boasting an exceptional 91.25% accuracy in generating cross-language clones
△ Less
Submitted 12 September, 2023;
originally announced September 2023.
-
GPTCloneBench: A comprehensive benchmark of semantic clones and cross-language clones using GPT-3 model and SemanticCloneBench
Authors:
Ajmain Inqiad Alam,
Palash Ranjan Roy,
Farouq Al-omari,
Chanchal Kumar Roy,
Banani Roy,
Kevin Schneider
Abstract:
With the emergence of Machine Learning, there has been a surge in leveraging its capabilities for problem-solving across various domains. In the code clone realm, the identification of type-4 or semantic clones has emerged as a crucial yet challenging task. Researchers aim to utilize Machine Learning to tackle this challenge, often relying on the BigCloneBench dataset. However, it's worth noting t…
▽ More
With the emergence of Machine Learning, there has been a surge in leveraging its capabilities for problem-solving across various domains. In the code clone realm, the identification of type-4 or semantic clones has emerged as a crucial yet challenging task. Researchers aim to utilize Machine Learning to tackle this challenge, often relying on the BigCloneBench dataset. However, it's worth noting that BigCloneBench, originally not designed for semantic clone detection, presents several limitations that hinder its suitability as a comprehensive training dataset for this specific purpose. Furthermore, CLCDSA dataset suffers from a lack of reusable examples aligning with real-world software systems, rendering it inadequate for cross-language clone detection approaches. In this work, we present a comprehensive semantic clone and cross-language clone benchmark, GPTCloneBench by exploiting SemanticCloneBench and OpenAI's GPT-3 model. In particular, using code fragments from SemanticCloneBench as sample inputs along with appropriate prompt engineering for GPT-3 model, we generate semantic and cross-language clones for these specific fragments and then conduct a combination of extensive manual analysis, tool-assisted filtering, functionality testing and automated validation in building the benchmark. From 79,928 clone pairs of GPT-3 output, we created a benchmark with 37,149 true semantic clone pairs, 19,288 false semantic pairs(Type-1/Type-2), and 20,770 cross-language clones across four languages (Java, C, C#, and Python). Our benchmark is 15-fold larger than SemanticCloneBench, has more functional code examples for software systems and programming language support than CLCDSA, and overcomes BigCloneBench's qualities, quantification, and language variety limitations.
△ Less
Submitted 1 September, 2023; v1 submitted 26 August, 2023;
originally announced August 2023.
-
Öffentliche Daten auf die nächste Stufe heben -- Vom RESTful Webservice für Pflanzenschutzmittelregistrierungsdaten zur anwendungsunabhängigen Ontologie (erweiterte Version)
Authors:
Katharina Albrecht,
Kristoffer Janis Schneider,
Daniel Martini
Abstract:
During the application of chemical pesticides, distance requirements have to be considered. However, these have to be determined and considered by the farmer manually. To support the farmer the Pesticide Application Manager (PAM)-Projects were conducted and a decision support system was developed. A part of this system, the distance requirements service was developed at the KTBL. To provide this s…
▽ More
During the application of chemical pesticides, distance requirements have to be considered. However, these have to be determined and considered by the farmer manually. To support the farmer the Pesticide Application Manager (PAM)-Projects were conducted and a decision support system was developed. A part of this system, the distance requirements service was developed at the KTBL. To provide this service, the PAM-prozess is conducted: the pesticide registration data provided via REST-API is crawled, then the data is mapped into an ontology using rmlmapper and made availabe in a machine readable and application-independent form via a SPARQL-Endpoint.
△ Less
Submitted 17 January, 2023;
originally announced January 2023.
-
Privacy Explanations - A Means to End-User Trust
Authors:
Wasja Brunotte,
Alexander Specht,
Larissa Chazette,
Kurt Schneider
Abstract:
Software systems are ubiquitous, and their use is ingrained in our everyday lives. They enable us to get in touch with people quickly and easily, support us in gathering information, and help us perform our daily tasks. In return, we provide these systems with a large amount of personal information, often unaware that this is jeopardizing our privacy. End users are typically unaware of what data i…
▽ More
Software systems are ubiquitous, and their use is ingrained in our everyday lives. They enable us to get in touch with people quickly and easily, support us in gathering information, and help us perform our daily tasks. In return, we provide these systems with a large amount of personal information, often unaware that this is jeopardizing our privacy. End users are typically unaware of what data is collected, for what purpose, who has access to it, and where and how it is stored. To address this issue, we looked into how explainability might help to tackle this problem. We created privacy explanations that aim to help to clarify to end users why and for what purposes specific data is required. We asked end users about privacy explanations in a survey and found that the majority of respondents (91.6 \%) are generally interested in receiving privacy explanations. Our findings reveal that privacy explanations can be an important step towards increasing trust in software systems and can increase the privacy awareness of end users. These findings are a significant step in developing privacy-aware systems and incorporating usable privacy features into them, assisting users in protecting their privacy.
△ Less
Submitted 20 October, 2022; v1 submitted 18 October, 2022;
originally announced October 2022.
-
Backports: Change Types, Challenges and Strategies
Authors:
Debasish Chakroborti,
Kevin A. Schneider,
Chanchal K. Roy
Abstract:
Source code repositories allow developers to manage multiple versions (or branches) of a software system. Pull-requests are used to modify a branch, and backporting is a regular activity used to port changes from a current development branch to other versions. In open-source software, backports are common and often need to be adapted by hand, which motivates us to explore backports and backporting…
▽ More
Source code repositories allow developers to manage multiple versions (or branches) of a software system. Pull-requests are used to modify a branch, and backporting is a regular activity used to port changes from a current development branch to other versions. In open-source software, backports are common and often need to be adapted by hand, which motivates us to explore backports and backporting challenges and strategies. In our exploration of 68,424 backports from 10 GitHub projects, we found that bug, test, document, and feature changes are commonly backported. We identified a number of backporting challenges, including that backports were inconsistently linked to their original pull-request (49%), that backports had incompatible code (13%), that backports failed to be accepted (10%), and that there were backporting delays (16 days to create, 5 days to merge). We identified some general strategies for addressing backporting issues. We also noted that backporting strategies depend on the project type and that further investigation is needed to determine their suitability. Furthermore, we created the first-ever backports dataset that can be used by other researchers and practitioners for investigating backports and backporting.
△ Less
Submitted 7 April, 2022;
originally announced April 2022.
-
How Can We Develop Explainable Systems? Insights from a Literature Review and an Interview Study
Authors:
Larissa Chazette,
Jil Klünder,
Merve Balci,
Kurt Schneider
Abstract:
Quality aspects such as ethics, fairness, and transparency have been proven to be essential for trustworthy software systems. Explainability has been identified not only as a means to achieve all these three aspects in systems, but also as a way to foster users' sentiments of trust. Despite this, research has only marginally focused on the activities and practices to develop explainable systems. T…
▽ More
Quality aspects such as ethics, fairness, and transparency have been proven to be essential for trustworthy software systems. Explainability has been identified not only as a means to achieve all these three aspects in systems, but also as a way to foster users' sentiments of trust. Despite this, research has only marginally focused on the activities and practices to develop explainable systems. To close this gap, we recommend six core activities and associated practices for the development of explainable systems based on the results of a literature review and an interview study. First, we identified and summarized activities and corresponding practices in the literature. To complement these findings, we conducted interviews with 19 industry professionals who provided recommendations for the development process of explainable systems and reviewed the activities and practices based on their expertise and knowledge. We compared and combined the findings of the interviews and the literature review to recommend the activities and assess their applicability in industry. Our findings demonstrate that the activities and practices are not only feasible, but can also be integrated in different development processes.
△ Less
Submitted 6 April, 2022; v1 submitted 4 April, 2022;
originally announced April 2022.
-
Evaluating the Performance of Clone Detection Tools in Detecting Cloned Co-change Candidates
Authors:
Md Nadim,
Manishankar Mondal,
Chanchal K. Roy,
Kevin Schneider
Abstract:
Co-change candidates are the group of code fragments that require a change if any of these fragments experience a modification in a commit operation during software evolution. The cloned co-change candidates are a subset of the co-change candidates, and the members in this subset are clones of one another. The cloned co-change candidates are usually created by reusing existing code fragments in a…
▽ More
Co-change candidates are the group of code fragments that require a change if any of these fragments experience a modification in a commit operation during software evolution. The cloned co-change candidates are a subset of the co-change candidates, and the members in this subset are clones of one another. The cloned co-change candidates are usually created by reusing existing code fragments in a software system. Detecting cloned co-change candidates is essential for clone-tracking, and studies have shown that we can use clone detection tools to find cloned co-change candidates. However, although several studies evaluate clone detection tools for their accuracy in detecting cloned fragments, we found no study that evaluates clone detection tools for detecting cloned co-change candidates. In this study, we explore the dimension of code clone research for detecting cloned co-change candidates. We compare the performance of 12 different configurations of nine promising clone detection tools in identifying cloned co-change candidates from eight open-source C and Java-based subject systems of various sizes and application domains. A ranked list and analysis of the results provides valuable insights and guidelines into selecting and configuring a clone detection tool for identifying co-change candidates and leads to a new dimension of code clone research into change impact analysis.
△ Less
Submitted 19 January, 2022;
originally announced January 2022.
-
The Reproducibility of Programming-Related Issues in Stack Overflow Questions
Authors:
Saikat Mondal,
Mohammad Masudur Rahman,
Chanchal K. Roy,
Kevin Schneider
Abstract:
Software developers often look for solutions to their code-level problems using the Stack Overflow Q&A website. To receive help, developers frequently submit questions containing sample code segments and the description of the programming issue. Unfortunately, it is not always possible to reproduce the issues from the code segments that may impede questions from receiving prompt and appropriate so…
▽ More
Software developers often look for solutions to their code-level problems using the Stack Overflow Q&A website. To receive help, developers frequently submit questions containing sample code segments and the description of the programming issue. Unfortunately, it is not always possible to reproduce the issues from the code segments that may impede questions from receiving prompt and appropriate solutions. We conducted an exploratory study on the reproducibility of issues discussed in 400 Java and 400 Python questions. We parsed, compiled, executed, and carefully examined the code segments from these questions to reproduce the reported programming issues. The outcomes of our study are three-fold. First, we found that we can reproduce approximately 68% of Java and 71% of Python issues, whereas we were unable to reproduce approximately 22% of Java and 19% of Python issues using the code segments. Of the issues that were reproducible, approximately 67% of the Java code segments and 20% of the Python code segments required minor or major modifications to reproduce the issues. Second, we carefully investigated why programming issues could not be reproduced and provided evidence-based guidelines for writing effective code examples for Stack Overflow questions. Third, we investigated the correlation between the issue reproducibility status of questions and the corresponding answer meta-data, such as the presence of an accepted answer. According to our analysis, a reproducible question has at least two times higher chance of receiving an accepted answer than an irreproducible question. Besides, the median time delay in receiving accepted answers is double if the issues reported in questions could not be reproduced. We also investigate the confounding factors (e.g., reputation) and find that confounding factors do not hurt the correlation between reproducibility status and answer meta-data.
△ Less
Submitted 25 December, 2021; v1 submitted 23 November, 2021;
originally announced November 2021.
-
What Makes Agile Software Development Agile?
Authors:
Marco Kuhrmann,
Paolo Tell,
Regina Hebig,
Jil Klünder,
Jürgen Münch,
Oliver Linssen,
Dietmar Pfahl,
Michael Felderer,
Christian R. Prause,
Stephen G. MacDonell,
Joyce Nakatumba-Nabende,
David Raffo,
Sarah Beecham,
Eray Tüzün,
Gustavo López,
Nicolas Paez,
Diego Fontdevila,
Sherlock A. Licorish,
Steffen Küpper,
Günther Ruhe,
Eric Knauss,
Özden Özcan-Top,
Paul Clarke,
Fergal McCaffery,
Marcela Genero
, et al. (22 additional authors not shown)
Abstract:
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challenge the adoption of agile methods as prescribed by…
▽ More
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challenge the adoption of agile methods as prescribed by their creator(s), software processes in practice mutate into hybrids over time. Are these still agile? In this article, we investigate the question: what makes a software development method agile? We present an empirical study grounded in a large-scale international survey that aims to identify software development methods and practices that improve or tame agility. Based on 556 data points, we analyze the perceived degree of agility in the implementation of standard project disciplines and its relation to used development methods and practices. Our findings suggest that only a small number of participants operate their projects in a purely traditional or agile manner (under 15%). That said, most project disciplines and most practices show a clear trend towards increasing degrees of agility. Compared to the methods used to develop software, the selection of practices has a stronger effect on the degree of agility of a given discipline. Finally, there are no methods or practices that explicitly guarantee or prevent agility. We conclude that agility cannot be defined solely at the process level. Additional factors need to be taken into account when trying to implement or improve agility in a software company. Finally, we discuss the field of software process-related research in the light of our findings and present a roadmap for future research.
△ Less
Submitted 23 September, 2021;
originally announced September 2021.
-
Semantic Slicing of Architectural Change Commits: Towards Semantic Design Review
Authors:
Amit Kumar Mondal,
Chanchal K. Roy,
Kevin A. Schneider,
Banani Roy,
Sristy Sumana Nath
Abstract:
Software architectural changes involve more than one module or component and are complex to analyze compared to local code changes. Development teams aiming to review architectural aspects (design) of a change commit consider many essential scenarios such as access rules and restrictions on usage of program entities across modules. Moreover, design review is essential when proper architectural for…
▽ More
Software architectural changes involve more than one module or component and are complex to analyze compared to local code changes. Development teams aiming to review architectural aspects (design) of a change commit consider many essential scenarios such as access rules and restrictions on usage of program entities across modules. Moreover, design review is essential when proper architectural formulations are paramount for developing and deploying a system. Untangling architectural changes, recovering semantic design, and producing design notes are the crucial tasks of the design review process. To support these tasks, we construct a lightweight tool [4] that can detect and decompose semantic slices of a commit containing architectural instances. A semantic slice consists of a description of relational information of involved modules, their classes, methods and connected modules in a change instance, which is easy to understand to a reviewer. We extract various directory and naming structures (DANS) properties from the source code for developing our tool. Utilizing the DANS properties, our tool first detects architectural change instances based on our defined metric and then decomposes the slices (based on string processing). Our preliminary investigation with ten open-source projects (developed in Java and Kotlin) reveals that the DANS properties produce highly reliable precision and recall (93-100%) for detecting and generating architectural slices. Our proposed tool will serve as the preliminary approach for the semantic design recovery and design summary generation for the project releases.
△ Less
Submitted 1 September, 2021;
originally announced September 2021.
-
FLOW Mapping: Planning and Managing Communication in Distributed Teams
Authors:
Kai Stapel,
Eric Knauss,
Kurt Schneider,
Nico Zazworka
Abstract:
Distributed software development is more difficult than co-located software development. One of the main reasons is that communication is more difficult in distributed settings. Defined processes and artifacts help, but cannot cover all information needs. Not communicating important project information, decisions and rationales can result in duplicate or extra work, delays or even project failure.…
▽ More
Distributed software development is more difficult than co-located software development. One of the main reasons is that communication is more difficult in distributed settings. Defined processes and artifacts help, but cannot cover all information needs. Not communicating important project information, decisions and rationales can result in duplicate or extra work, delays or even project failure. Planning and managing a distributed project from an information flow perspective helps to facilitate available communication channels right from the start - beyond the documents and artifacts which are defined for a given development process. In this paper we propose FLOW Mapping, a systematic approach for planning and managing information flows in distributed projects. We demonstrate the feasibility of our approach with a case study in a distributed agile class room project. FLOW Mapping is sufficient to plan communication and to measure conformance to the communication strategy. We also discuss cost and impact of our approach.
△ Less
Submitted 9 April, 2021;
originally announced April 2021.
-
Catching up with Method and Process Practice: An Industry-Informed Baseline for Researchers
Authors:
Jil Klünder,
Regina Hebig,
Paolo Tell,
Marco Kuhrmann,
Joyce Nakatumba-Nabende,
Rogardt Heldal,
Stephan Krusche,
Masud Fazal-Baqaie,
Michael Felderer,
Marcela Fabiana Genero Bocco,
Steffen Küpper,
Sherlock A. Licorish,
Gustavo Lòpez,
Fergal McCaffery,
Özden Özcan Top,
Christian R. Prause,
Rafael Prikladnicki,
Eray Tüzün,
Dietmar Pfahl,
Kurt Schneider,
Stephen G. MacDonell
Abstract:
Software development methods are usually not applied by the book. Companies are under pressure to continuously deploy software products that meet market needs and stakeholders' requests. To implement efficient and effective development processes, companies utilize multiple frameworks, methods and practices, and combine these into hybrid methods. A common combination contains a rich management fram…
▽ More
Software development methods are usually not applied by the book. Companies are under pressure to continuously deploy software products that meet market needs and stakeholders' requests. To implement efficient and effective development processes, companies utilize multiple frameworks, methods and practices, and combine these into hybrid methods. A common combination contains a rich management framework to organize and steer projects complemented with a number of smaller practices providing the development teams with tools to complete their tasks. In this paper, based on 732 data points collected through an international survey, we study the software development process use in practice. Our results show that 76.8% of the companies implement hybrid methods. Company size as well as the strategy in devising and evolving hybrid methods affect the suitability of the chosen process to reach company or project goals. Our findings show that companies that combine planned improvement programs with process evolution can increase their process' suitability by up to 5%.
△ Less
Submitted 28 January, 2021;
originally announced January 2021.
-
Wavelet Adaptive Proper Orthogonal Decomposition for Large Scale Flow Data
Authors:
Philipp Krah,
Thomas Engels,
Kai Schneider,
Julius Reiss
Abstract:
The proper orthogonal decomposition (POD) is a powerful classical tool in fluid mechanics used, for instance, for model reduction and extraction of coherent flow features. However, its applicability to high-resolution data, as produced by three-dimensional direct numerical simulations, is limited owing to its computational complexity. Here, we propose a wavelet-based adaptive version of the POD (t…
▽ More
The proper orthogonal decomposition (POD) is a powerful classical tool in fluid mechanics used, for instance, for model reduction and extraction of coherent flow features. However, its applicability to high-resolution data, as produced by three-dimensional direct numerical simulations, is limited owing to its computational complexity. Here, we propose a wavelet-based adaptive version of the POD (the wPOD), in order to overcome this limitation. The amount of data to be analyzed is reduced by compressing them using biorthogonal wavelets, yielding a sparse representation while conveniently providing control of the compression error. Numerical analysis shows how the distinct error contributions of wavelet compression and POD truncation can be balanced under certain assumptions, allowing us to efficiently process high-resolution data from three-dimensional simulations of flow problems. Using a synthetic academic test case, we compare our algorithm with the randomized singular value decomposition. Furthermore, we demonstrate the ability of our method analyzing data of a 2D wake flow and a 3D flow generated by a flapping insect computed with direct numerical simulation.
△ Less
Submitted 10 November, 2020;
originally announced November 2020.
-
The Case for Hop-by-Hop Traffic Engineering
Authors:
Klaus Schneider,
Beichuan Zhang,
Van Sy Mai,
Lotfi Benmohamed
Abstract:
State-of-the-art Internet traffic engineering uses source-based explicit routing via MPLS or Segment Routing. Though widely adopted in practice, source routing can face certain inefficiencies and operational issues, caused by its use of bandwidth reservations.
In this work, we make the case for Hop-by-Hop (HBH) Traffic Engineering: splitting traffic among nexthops at every router, rather than sp…
▽ More
State-of-the-art Internet traffic engineering uses source-based explicit routing via MPLS or Segment Routing. Though widely adopted in practice, source routing can face certain inefficiencies and operational issues, caused by its use of bandwidth reservations.
In this work, we make the case for Hop-by-Hop (HBH) Traffic Engineering: splitting traffic among nexthops at every router, rather than splitting traffic among paths only at edge routers. We show that HBH traffic engineering can achieve the original goals of MPLS (i.e., efficient use of network resources), with a much simpler design that does not need bandwidth reservations or predictions of traffic demand.
We implement a prototype in the ns-3 network simulator, to investigate the cost imposed by 1) the restricted path choice of loop-free HBH multipath routing, and 2) the distributed decisions of each router, based on its local network view. We show that the former is more important than the latter, but that, other than a few outliers, our design shows a performance (= aggregate user utility) close to the theoretical optimum.
△ Less
Submitted 25 October, 2020;
originally announced October 2020.
-
A Machine Learning Based Framework for Code Clone Validation
Authors:
Golam Mostaeen,
Banani Roy,
Chanchal Roy,
Kevin Schneider,
Jeffrey Svajlenko
Abstract:
A code clone is a pair of code fragments, within or between software systems that are similar. Since code clones often negatively impact the maintainability of a software system, several code clone detection techniques and tools have been proposed and studied over the last decade. To detect all possible similar source code patterns in general, the clone detection tools work on the syntax level whi…
▽ More
A code clone is a pair of code fragments, within or between software systems that are similar. Since code clones often negatively impact the maintainability of a software system, several code clone detection techniques and tools have been proposed and studied over the last decade. To detect all possible similar source code patterns in general, the clone detection tools work on the syntax level while lacking user-specific preferences. This often means the clones must be manually inspected before analysis in order to remove those false positives from consideration. This manual clone validation effort is very time-consuming and often error-prone, in particular for large-scale clone detection. In this paper, we propose a machine learning approach for automating the validation process. Our machine learning-based approach is used to automatically validate clones without human inspection. Thus the proposed approach can be used to remove the false positive clones from the detection results, automatically evaluate the precision of any clone detectors for any given set of datasets, evaluate existing clone benchmark datasets, or even be used to build new clone benchmarks and datasets with minimum effort. In an experiment with clones detected by several clone detectors in several different software systems, we found our approach has an accuracy of up to 87.4% when compared against the manual validation by multiple expert judges. The proposed method also shows better results in several comparative studies with the existing related approaches for clone classification.
△ Less
Submitted 2 May, 2020;
originally announced May 2020.
-
Automatic Polyp Segmentation Using Convolutional Neural Networks
Authors:
Sara Hosseinzadeh Kassani,
Peyman Hosseinzadeh Kassani,
Michal J. Wesolowski,
Kevin A. Schneider,
Ralph Deters
Abstract:
Colorectal cancer is the third most common cancer-related death after lung cancer and breast cancer worldwide. The risk of developing colorectal cancer could be reduced by early diagnosis of polyps during a colonoscopy. Computer-aided diagnosis systems have the potential to be applied for polyp screening and reduce the number of missing polyps. In this paper, we compare the performance of differen…
▽ More
Colorectal cancer is the third most common cancer-related death after lung cancer and breast cancer worldwide. The risk of developing colorectal cancer could be reduced by early diagnosis of polyps during a colonoscopy. Computer-aided diagnosis systems have the potential to be applied for polyp screening and reduce the number of missing polyps. In this paper, we compare the performance of different deep learning architectures as feature extractors, i.e. ResNet, DenseNet, InceptionV3, InceptionResNetV2 and SE-ResNeXt in the encoder part of a U-Net architecture. We validated the performance of presented ensemble models on the CVC-Clinic (GIANA 2018) dataset. The DenseNet169 feature extractor combined with U-Net architecture outperformed the other counterparts and achieved an accuracy of 99.15\%, Dice similarity coefficient of 90.87%, and Jaccard index of 83.82%.
△ Less
Submitted 22 April, 2020;
originally announced April 2020.
-
Automatic Detection of Coronavirus Disease (COVID-19) in X-ray and CT Images: A Machine Learning-Based Approach
Authors:
Sara Hosseinzadeh Kassani,
Peyman Hosseinzadeh Kassasni,
Michal J. Wesolowski,
Kevin A. Schneider,
Ralph Deters
Abstract:
The newly identified Coronavirus pneumonia, subsequently termed COVID-19, is highly transmittable and pathogenic with no clinically approved antiviral drug or vaccine available for treatment. The most common symptoms of COVID-19 are dry cough, sore throat, and fever. Symptoms can progress to a severe form of pneumonia with critical complications, including septic shock, pulmonary edema, acute resp…
▽ More
The newly identified Coronavirus pneumonia, subsequently termed COVID-19, is highly transmittable and pathogenic with no clinically approved antiviral drug or vaccine available for treatment. The most common symptoms of COVID-19 are dry cough, sore throat, and fever. Symptoms can progress to a severe form of pneumonia with critical complications, including septic shock, pulmonary edema, acute respiratory distress syndrome and multi-organ failure. While medical imaging is not currently recommended in Canada for primary diagnosis of COVID-19, computer-aided diagnosis systems could assist in the early detection of COVID-19 abnormalities and help to monitor the progression of the disease, potentially reduce mortality rates. In this study, we compare popular deep learning-based feature extraction frameworks for automatic COVID-19 classification. To obtain the most accurate feature, which is an essential component of learning, MobileNet, DenseNet, Xception, ResNet, InceptionV3, InceptionResNetV2, VGGNet, NASNet were chosen amongst a pool of deep convolutional neural networks. The extracted features were then fed into several machine learning classifiers to classify subjects as either a case of COVID-19 or a control. This approach avoided task-specific data pre-processing methods to support a better generalization ability for unseen data. The performance of the proposed method was validated on a publicly available COVID-19 dataset of chest X-ray and CT images. The DenseNet121 feature extractor with Bagging tree classifier achieved the best performance with 99% classification accuracy. The second-best learner was a hybrid of the a ResNet50 feature extractor trained by LightGBM with an accuracy of 98%.
△ Less
Submitted 22 April, 2020;
originally announced April 2020.
-
An Exploratory Study to Find Motives Behind Cross-platform Forks from Software Heritage Dataset
Authors:
Avijit Bhattacharjee,
Sristy Sumana Nath,
Shurui Zhou,
Debasish Chakroborti,
Banani Roy,
Chanchal K. Roy,
Kevin Schneider
Abstract:
The fork-based development mechanism provides the flexibility and the unified processes for software teams to collaborate easily in a distributed setting without too much coordination overhead.Currently, multiple social coding platforms support fork-based development, such as GitHub, GitLab, and Bitbucket. Although these different platforms virtually share the same features, they have different em…
▽ More
The fork-based development mechanism provides the flexibility and the unified processes for software teams to collaborate easily in a distributed setting without too much coordination overhead.Currently, multiple social coding platforms support fork-based development, such as GitHub, GitLab, and Bitbucket. Although these different platforms virtually share the same features, they have different emphasis. As GitHub is the most popular platform and the corresponding data is publicly available, most of the current studies are focusing on GitHub hosted projects. However, we observed anecdote evidences that people are confused about choosing among these platforms, and some projects are migrating from one platform to another, and the reasons behind these activities remain unknown.With the advances of Software Heritage Graph Dataset (SWHGD),we have the opportunity to investigate the forking activities across platforms. In this paper, we conduct an exploratory study on 10popular open-source projects to identify cross-platform forks and investigate the motivation behind. Preliminary result shows that cross-platform forks do exist. For the 10 subject systems in this study, we found 81,357 forks in total among which 179 forks are on GitLab. Based on our qualitative analysis, we found that most of the cross-platform forks that we identified are mirrors of the repositories on another platform, but we still find cases that were created due to preference of using certain functionalities (e.g. Continuous Integration (CI)) supported by different platforms. This study lays the foundation of future research directions, such as understanding the differences between platforms and supporting cross-platform collaboration.
△ Less
Submitted 17 March, 2020;
originally announced March 2020.
-
Evaluation of the Handshake Turing Test for anthropomorphic Robots
Authors:
Ruth Stock-Homburg,
Jan Peters,
Katharina Schneider,
Vignesh Prasad,
Lejla Nukovic
Abstract:
Handshakes are fundamental and common greeting and parting gestures among humans. They are important in shaping first impressions as people tend to associate character traits with a person's handshake. To widen the social acceptability of robots and make a lasting first impression, a good handshaking ability is an important skill for social robots. Therefore, to test the human-likeness of a robot…
▽ More
Handshakes are fundamental and common greeting and parting gestures among humans. They are important in shaping first impressions as people tend to associate character traits with a person's handshake. To widen the social acceptability of robots and make a lasting first impression, a good handshaking ability is an important skill for social robots. Therefore, to test the human-likeness of a robot handshake, we propose an initial Turing-like test, primarily for the hardware interface to future AI agents. We evaluate the test on an android robot's hand to determine if it can pass for a human hand. This is an important aspect of Turing tests for motor intelligence where humans have to interact with a physical device rather than a virtual one. We also propose some modifications to the definition of a Turing test for such scenarios taking into account that a human needs to interact with a physical medium.
△ Less
Submitted 28 January, 2020;
originally announced January 2020.
-
An Interdisciplinary Guideline for the Production of Videos and Vision Videos by Software Professionals
Authors:
Oliver Karras,
Kurt Schneider
Abstract:
Background and Motivation: In recent years, the topic of applying videos in requirements engineering has been discussed and its contributions are of interesting potential. In the last 35 years, several researchers proposed approaches for applying videos in requirements engineering due to their communication richness and effectiveness. However, these approaches mainly use videos but omit the detail…
▽ More
Background and Motivation: In recent years, the topic of applying videos in requirements engineering has been discussed and its contributions are of interesting potential. In the last 35 years, several researchers proposed approaches for applying videos in requirements engineering due to their communication richness and effectiveness. However, these approaches mainly use videos but omit the details about how to produce them. This lack of guidance is one crucial reason why videos are not an established documentation option for successful requirements communication and thus shared understanding. Software professionals are not directors and thus they do not necessarily know what constitutes a good video in general and for an existing approach. Therefore, this lack of knowledge and skills on how to produce and use videos for visual communication impedes the application of videos by software professionals in requirements engineering.
How to Create Effective Videos and Vision Videos?: This technical report addresses this lack of knowledge and skills by software professionals. We provide two guidelines that can be used as checklists to avoid frequent flaws in the production and use of videos respectively vision videos. Software professionals without special training should be able to follow these guidelines to achieve the basic capabilities to produce (vision) videos that are accepted by their stakeholders. These guidelines represent a core set of those capabilities in the preproduction, shooting, postproduction, and viewing of (vision) videos. We do not strive for perfection in any of these capabilities, .e.g., technical handling of video equipment, storytelling, or video editing. Instead, these guidelines support all steps of the (vision) video production and use process to a balanced way.
△ Less
Submitted 26 February, 2021; v1 submitted 18 January, 2020;
originally announced January 2020.
-
Representing Software Project Vision by Means of Video: A Quality Model for Vision Videos
Authors:
Oliver Karras,
Kurt Schneider,
Samuel A. Fricker
Abstract:
Establishing a shared software project vision is a key challenge in Requirements Engineering (RE). Several approaches use videos to represent visions. However, these approaches omit how to produce a good video. This missing guidance is one crucial reason why videos are not established in RE. We propose a quality model for videos representing a vision, so-called vision videos. Based on two literatu…
▽ More
Establishing a shared software project vision is a key challenge in Requirements Engineering (RE). Several approaches use videos to represent visions. However, these approaches omit how to produce a good video. This missing guidance is one crucial reason why videos are not established in RE. We propose a quality model for videos representing a vision, so-called vision videos. Based on two literature reviews, we elaborate ten quality characteristics of videos and five quality characteristics of visions which together form a quality model for vision videos that includes all 15 quality characteristics. We provide two representations of the quality model: (a) A hierarchical decomposition of vision video quality into the quality characteristics and (b) A mapping of these characteristics to the video production and use process. While the hierarchical decomposition supports the evaluation of vision videos, the mapping provides guidance for video production. In an evaluation with 139 students, we investigated whether the 15 characteristics are related to the overall quality of vision videos perceived by the subjects from a developer's the point of view. Six characteristics (video length, focus, prior knowledge, clarity, pleasure, and stability) correlated significantly with the likelihood that the subjects perceived a vision video as good. These relationships substantiate a fundamental relevance of the proposed quality model. Therefore, we conclude that the quality model is a sound basis for future refinements and extensions.
△ Less
Submitted 23 November, 2019;
originally announced November 2019.
-
Tool-Supported Experiments for Continuously Collecting Data of Subjective Video Quality Assessments During Video Playback
Authors:
Oliver Karras,
Jil Klünder,
Kurt Schneider
Abstract:
The adequate use of documentation for communication is one challenge in requirements engineering (RE). In recent years, several researchers addressed this challenge by using videos as a communication mechanism. All of them concluded that this way of using videos has the potential to facilitate requirements communication. Nevertheless, software professionals are not directors and thus do not necess…
▽ More
The adequate use of documentation for communication is one challenge in requirements engineering (RE). In recent years, several researchers addressed this challenge by using videos as a communication mechanism. All of them concluded that this way of using videos has the potential to facilitate requirements communication. Nevertheless, software professionals are not directors and thus do not necessarily know what constitutes a good video. This lack of knowledge is one crucial reason why videos are still not an established communication mechanism in RE. When videos shall be established in the RE activities, practices, and techniques, requirements engineers have to acquire the necessary knowledge to produce and use good videos on their own at moderate costs, yet sufficient quality. In our research project ViViReq (see Acknowledgment), we aspire to bridge this knowledge gap about what constitutes a good video. Whether a video is good or not depends on its quality perceived by its viewers. However, video quality is a rather ill-defined concept due to numerous unspecified technical and subjective characteristics. As part of our research plan, we develop a quality model for videos inspired by the idea of Femmer and Vogelsang to define and evaluate the quality of videos as RE artifacts. In addition to evaluating videos, this quality model can be used to identify the relevant characteristics of videos for their specific purpose which can be further used to specify requirements, their criteria for satisfaction, and corresponding measures. Therefore, software professionals may use the quality model as guidance for producing and using videos.
△ Less
Submitted 21 November, 2019; v1 submitted 20 November, 2019;
originally announced November 2019.
-
Micro-level Modularity of Computaion-intensive Programs in Big Data Platforms: A Case Study with Image Data
Authors:
Amit Kumar Mondal,
Banani Roy,
Chanchal K. Roy,
Kevin A. Schneider
Abstract:
With the rapid advancement of Big Data platforms such as Hadoop, Spark, and Dataflow, many tools are being developed that are intended to provide end users with an interactive environment for large-scale data analysis (e.g., IQmulus). However, there are challenges using these platforms. For example, developers find it difficult to use these platforms when developing interactive and reusable data a…
▽ More
With the rapid advancement of Big Data platforms such as Hadoop, Spark, and Dataflow, many tools are being developed that are intended to provide end users with an interactive environment for large-scale data analysis (e.g., IQmulus). However, there are challenges using these platforms. For example, developers find it difficult to use these platforms when developing interactive and reusable data analytic tools. One approach to better support interactivity and reusability is the use of microlevel modularisation for computation-intensive tasks, which splits data operations into independent, composable modules. However, modularizing data and computation-intensive tasks into independent components differs from traditional programming, e.g., when accessing large scale data, controlling data-flow among components, and structuring computation logic. In this paper, we present a case study on modularizing real world computationintensive tasks that investigates the impact of modularization on processing large scale image data. To that end, we synthesize image data-processing patterns and propose a unified modular model for the effective implementation of computation-intensive tasks on data-parallel frameworks considering reproducibility, reusability, and customization. We present various insights of using the modularity model based on our experimental results from running image processing tasks on Spark and Hadoop clusters.
△ Less
Submitted 19 October, 2019;
originally announced October 2019.
-
Classification of Histopathological Biopsy Images Using Ensemble of Deep Learning Networks
Authors:
Sara Hosseinzadeh Kassani,
Peyman Hosseinzadeh Kassani,
Michal J. Wesolowski,
Kevin A. Schneider,
Ralph Deters
Abstract:
Breast cancer is one of the leading causes of death across the world in women. Early diagnosis of this type of cancer is critical for treatment and patient care. Computer-aided detection (CAD) systems using convolutional neural networks (CNN) could assist in the classification of abnormalities. In this study, we proposed an ensemble deep learning-based approach for automatic binary classification…
▽ More
Breast cancer is one of the leading causes of death across the world in women. Early diagnosis of this type of cancer is critical for treatment and patient care. Computer-aided detection (CAD) systems using convolutional neural networks (CNN) could assist in the classification of abnormalities. In this study, we proposed an ensemble deep learning-based approach for automatic binary classification of breast histology images. The proposed ensemble model adapts three pre-trained CNNs, namely VGG19, MobileNet, and DenseNet. The ensemble model is used for the feature representation and extraction steps. The extracted features are then fed into a multi-layer perceptron classifier to carry out the classification task. Various pre-processing and CNN tuning techniques such as stain-normalization, data augmentation, hyperparameter tuning, and fine-tuning are used to train the model. The proposed method is validated on four publicly available benchmark datasets, i.e., ICIAR, BreakHis, PatchCamelyon, and Bioimaging. The proposed multi-model ensemble method obtains better predictions than single classifiers and machine learning algorithms with accuracies of 98.13%, 95.00%, 94.64% and 83.10% for BreakHis, ICIAR, PatchCamelyon and Bioimaging datasets, respectively.
△ Less
Submitted 25 September, 2019;
originally announced September 2019.
-
A Hybrid Deep Learning Architecture for Leukemic B-lymphoblast Classification
Authors:
Sara Hosseinzadeh Kassani,
Peyman Hosseinzadeh kassani,
Michal J. Wesolowski,
Kevin A. Schneider,
Ralph Deters
Abstract:
Automatic detection of leukemic B-lymphoblast cancer in microscopic images is very challenging due to the complicated nature of histopathological structures. To tackle this issue, an automatic and robust diagnostic system is required for early detection and treatment. In this paper, an automated deep learning-based method is proposed to distinguish between immature leukemic blasts and normal cells…
▽ More
Automatic detection of leukemic B-lymphoblast cancer in microscopic images is very challenging due to the complicated nature of histopathological structures. To tackle this issue, an automatic and robust diagnostic system is required for early detection and treatment. In this paper, an automated deep learning-based method is proposed to distinguish between immature leukemic blasts and normal cells. The proposed deep learning based hybrid method, which is enriched by different data augmentation techniques, is able to extract high-level features from input images. Results demonstrate that the proposed model yields better prediction than individual models for Leukemic B-lymphoblast classification with 96.17% overall accuracy, 95.17% sensitivity and 98.58% specificity. Fusing the features extracted from intermediate layers, our approach has the potential to improve the overall classification performance.
△ Less
Submitted 25 September, 2019;
originally announced September 2019.
-
Breast Cancer Diagnosis with Transfer Learning and Global Pooling
Authors:
Sara Hosseinzadeh Kassani,
Peyman Hosseinzadeh Kassani,
Michal J. Wesolowski,
Kevin A. Schneider,
Ralph Deters
Abstract:
Breast cancer is one of the most common causes of cancer-related death in women worldwide. Early and accurate diagnosis of breast cancer may significantly increase the survival rate of patients. In this study, we aim to develop a fully automatic, deep learning-based, method using descriptor features extracted by Deep Convolutional Neural Network (DCNN) models and pooling operation for the classifi…
▽ More
Breast cancer is one of the most common causes of cancer-related death in women worldwide. Early and accurate diagnosis of breast cancer may significantly increase the survival rate of patients. In this study, we aim to develop a fully automatic, deep learning-based, method using descriptor features extracted by Deep Convolutional Neural Network (DCNN) models and pooling operation for the classification of hematoxylin and eosin stain (H&E) histological breast cancer images provided as a part of the International Conference on Image Analysis and Recognition (ICIAR) 2018 Grand Challenge on BreAst Cancer Histology (BACH) Images. Different data augmentation methods are applied to optimize the DCNN performance. We also investigated the efficacy of different stain normalization methods as a pre-processing step. The proposed network architecture using a pre-trained Xception model yields 92.50% average classification accuracy.
△ Less
Submitted 25 September, 2019;
originally announced September 2019.
-
Hop-by-Hop Multipath Routing: Choosing the Right Nexthop Set
Authors:
Klaus Schneider,
Beichuan Zhang,
Lotfi Benmohamed
Abstract:
The Internet can be made more efficient and robust with hop-by-hop multipath routing: Each router on the path can split packets between multiple nexthops in order to 1) avoid failed links and 2) reduce traffic on congested links. Before deciding how to split traffic, one first needs to decide which nexthops to allow at each step. In this paper, we investigate the requirements and trade-offs for ma…
▽ More
The Internet can be made more efficient and robust with hop-by-hop multipath routing: Each router on the path can split packets between multiple nexthops in order to 1) avoid failed links and 2) reduce traffic on congested links. Before deciding how to split traffic, one first needs to decide which nexthops to allow at each step. In this paper, we investigate the requirements and trade-offs for making this choice.
Most related work chooses the viable nexthops by applying the "Downward Criterion", i.e., only adding nexthops that lead closer to the destination; or more generally by creating a Directed Acyclic Graph (DAG) for each destination. We show that a DAG's nexthop options are necessarily limited, and that, by using certain links in both directions (per destination), we can add further nexthops while still avoiding loops. Our solution LFID (Loop-Free Inport-Dependent) routing, though having a slightly higher time complexity, leads to both a higher number of and shorter potential paths than related work. LFID thus protects against a higher percentage of single and multiple failures (or congestions) and comes close to the performance of arbitrary source routing.
△ Less
Submitted 24 June, 2019;
originally announced June 2019.
-
Inference of Tampered Smart Meters with Validations from Feeder-Level Power Injections
Authors:
Yachen Tang,
Chee-Wooi Ten,
Kevin P. Schneider
Abstract:
Tampering of metering infrastructure of an electrical distribution system can significantly cause customers' billing discrepancy. The large-scale deployment of smart meters may potentially be tampered by malware by propagating their agents to other IP-based meters. Such a possibility is to pivot through the physical perimeters of a smart meter. While this framework may help utilities to accurately…
▽ More
Tampering of metering infrastructure of an electrical distribution system can significantly cause customers' billing discrepancy. The large-scale deployment of smart meters may potentially be tampered by malware by propagating their agents to other IP-based meters. Such a possibility is to pivot through the physical perimeters of a smart meter. While this framework may help utilities to accurately energy consumption information on the regular basis, it is challenging to identify malicious meters when there is a large number of users that are exploited to vulnerability and kWh information being altered. This paper presents a reconfiguration switching scheme based on graph theory incorporating the concept of distributed generators to accelerate the anomaly localization process within an electrical distribution network. First, a data form transformation from a visualized grid topology to a graph with vertices and edges is presented. A conversion from the graph representation to machine recognized matrix representation is then performed. The connection of the grid topology is illustrated as an adjacency or incidence matrix for the following analysis. A switching procedure to change elements in the topological matrix is used to detect and localize the tampered node or cluster. The procedure has to meet the electrical and the temporary closed-loop operational constraints. The customer-level anomaly detection is then performed in accordance with probability derived from smart meter anomalies.
△ Less
Submitted 27 April, 2019;
originally announced April 2019.
-
Recommending Comprehensive Solutions for Programming Tasks by Mining Crowd Knowledge
Authors:
Rodrigo F. G. Silva,
Chanchal K. Roy,
Mohammad Masudur Rahman,
Kevin A. Schneider,
Klerisson Paixao,
Marcelo de Almeida Maia
Abstract:
Developers often search for relevant code examples on the web for their programming tasks. Unfortunately, they face two major problems. First, the search is impaired due to a lexical gap between their query (task description) and the information associated with the solution. Second, the retrieved solution may not be comprehensive, i.e., the code segment might miss a succinct explanation. These pro…
▽ More
Developers often search for relevant code examples on the web for their programming tasks. Unfortunately, they face two major problems. First, the search is impaired due to a lexical gap between their query (task description) and the information associated with the solution. Second, the retrieved solution may not be comprehensive, i.e., the code segment might miss a succinct explanation. These problems make the developers browse dozens of documents in order to synthesize an appropriate solution. To address these two problems, we propose CROKAGE (Crowd Knowledge Answer Generator), a tool that takes the description of a programming task (the query) and provides a comprehensive solution for the task. Our solutions contain not only relevant code examples but also their succinct explanations. Our proposed approach expands the task description with relevant API classes from Stack Overflow Q&A threads and then mitigates the lexical gap problems. Furthermore, we perform natural language processing on the top quality answers and then return such programming solutions containing code examples and code explanations unlike earlier studies. We evaluate our approach using 48 programming queries and show that it outperforms six baselines including the state-of-art by a statistically significant margin. Furthermore, our evaluation with 29 developers using 24 tasks (queries) confirms the superiority of CROKAGE over the state-of-art tool in terms of relevance of the suggested code examples, benefit of the code explanations and the overall solution quality (code + explanation).
△ Less
Submitted 20 March, 2019; v1 submitted 18 March, 2019;
originally announced March 2019.
-
Refining Vision Videos
Authors:
Kurt Schneider,
Melanie Busch,
Oliver Karras,
Maximilian Schrapel,
Michael Rohs
Abstract:
[Context and motivation] Complex software-based systems involve several stakeholders, their activities and interactions with the system. Vision videos are used during the early phases of a project to complement textual representations. They visualize previously abstract visions of the product and its use. By creating, elaborating, and discussing vision videos, stakeholders and developers gain an i…
▽ More
[Context and motivation] Complex software-based systems involve several stakeholders, their activities and interactions with the system. Vision videos are used during the early phases of a project to complement textual representations. They visualize previously abstract visions of the product and its use. By creating, elaborating, and discussing vision videos, stakeholders and developers gain an improved shared understanding of how those abstract visions could translate into concrete scenarios and requirements to which individuals can relate. [Question/problem] In this paper, we investigate two aspects of refining vision videos: (1) Refining the vision by providing alternative answers to previously open issues about the system to be built. (2) A refined understanding of the camera perspective in vision videos. The impact of using a subjective (or "ego") perspective is compared to the usual third-person perspective. [Methodology] We use shopping in rural areas as a real-world application domain for refining vision videos. Both aspects of refining vision videos were investigated in an experiment with 20 participants. [Contribution] Subjects made a significant number of additional contributions when they had received not only video or text but also both - even with very short text and short video clips. Subjective video elements were rated as positive. However, there was no significant preference for either subjective or non-subjective videos in general.
△ Less
Submitted 20 January, 2019;
originally announced January 2019.
-
A Multi-Objective Anytime Rule Mining System to Ease Iterative Feedback from Domain Experts
Authors:
Tobias Baum,
Steffen Herbold,
Kurt Schneider
Abstract:
Data extracted from software repositories is used intensively in Software Engineering research, for example, to predict defects in source code. In our research in this area, with data from open source projects as well as an industrial partner, we noticed several shortcomings of conventional data mining approaches for classification problems: (1) Domain experts' acceptance is of critical importance…
▽ More
Data extracted from software repositories is used intensively in Software Engineering research, for example, to predict defects in source code. In our research in this area, with data from open source projects as well as an industrial partner, we noticed several shortcomings of conventional data mining approaches for classification problems: (1) Domain experts' acceptance is of critical importance, and domain experts can provide valuable input, but it is hard to use this feedback. (2) The evaluation of the model is not a simple matter of calculating AUC or accuracy. Instead, there are multiple objectives of varying importance, but their importance cannot be easily quantified. Furthermore, the performance of the model cannot be evaluated on a per-instance level in our case, because it shares aspects with the set cover problem. To overcome these problems, we take a holistic approach and develop a rule mining system that simplifies iterative feedback from domain experts and can easily incorporate the domain-specific evaluation needs. A central part of the system is a novel multi-objective anytime rule mining algorithm. The algorithm is based on the GRASP-PR meta-heuristic but extends it with ideas from several other approaches. We successfully applied the system in the industrial context. In the current article, we focus on the description of the algorithm and the concepts of the system. We provide an implementation of the system for reuse.
△ Less
Submitted 23 December, 2018;
originally announced December 2018.
-
An Industrial Case Study on Shrinking Code Review Changesets through Remark Prediction
Authors:
Tobias Baum,
Steffen Herbold,
Kurt Schneider
Abstract:
Change-based code review is used widely in industrial software development. Thus, research on tools that help the reviewer to achieve better review performance can have a high impact. We analyze one possibility to provide cognitive support for the reviewer: Determining the importance of change parts for review, specifically determining which parts of the code change can be left out from the review…
▽ More
Change-based code review is used widely in industrial software development. Thus, research on tools that help the reviewer to achieve better review performance can have a high impact. We analyze one possibility to provide cognitive support for the reviewer: Determining the importance of change parts for review, specifically determining which parts of the code change can be left out from the review without harm. To determine the importance of change parts, we extract data from software repositories and build prediction models for review remarks based on this data. The approach is discussed in detail. To gather the input data, we propose a novel algorithm to trace review remarks to their triggers. We apply our approach in a medium-sized software company. In this company, we can avoid the review of 25% of the change parts and of 23% of the changed Java source code lines, while missing only about 1% of the review remarks. Still, we also observe severe limitations of the tried approach: Much of the savings are due to simple syntactic rules, noise in the data hampers the search for better prediction models, and some developers in the case company oppose the taken approach. Besides the main results on the mining and prediction of triggers for review remarks, we contribute experiences with a novel, multi-objective and interactive rule mining approach. The anonymized dataset from the company is made available, as are the implementations for the devised algorithms.
△ Less
Submitted 22 December, 2018;
originally announced December 2018.
-
Blockchain access control Ecosystem for Big Data security
Authors:
Uchi Ugobame Uchibeke,
Sara Hosseinzadeh Kassani,
Kevin A. Schneider,
Ralph Deters
Abstract:
In recent years, the advancement in modern technologies has experienced an explosion of huge data sets being captured and recorded in different fields, but also given rise to concerns the security and protection of data storage, transmission, processing, and access to data. The blockchain is a distributed ledger that records transactions in a secure, flexible, verifiable and permanent way. Transac…
▽ More
In recent years, the advancement in modern technologies has experienced an explosion of huge data sets being captured and recorded in different fields, but also given rise to concerns the security and protection of data storage, transmission, processing, and access to data. The blockchain is a distributed ledger that records transactions in a secure, flexible, verifiable and permanent way. Transactions in a blockchain can be an exchange of an asset, the execution of the terms of a smart contract, or an update to a record. In this paper, we have developed a blockchain access control ecosystem that gives asset owners the sovereign right to effectively manage access control of large data sets and protect against data breaches. The Linux Foundation's Hyperledger Fabric blockchain is used to run the business network while the Hyperledger composer tool is used to implement the smart contracts or transaction processing functions that run on the blockchain network.
△ Less
Submitted 22 December, 2019; v1 submitted 10 October, 2018;
originally announced October 2018.
-
Software Professionals are Not Directors: What Constitutes a Good Video?
Authors:
Oliver Karras,
Kurt Schneider
Abstract:
Videos are one of the best documentation options for a rich and effective communication. They allow experiencing the overall context of a situation by representing concrete realizations of certain requirements. Despite 35 years of research on integrating videos in requirements engineering (RE), videos are not an established documentation option in terms of RE best practices. Several approaches use…
▽ More
Videos are one of the best documentation options for a rich and effective communication. They allow experiencing the overall context of a situation by representing concrete realizations of certain requirements. Despite 35 years of research on integrating videos in requirements engineering (RE), videos are not an established documentation option in terms of RE best practices. Several approaches use videos but omit the details about how to produce them. Software professionals lack knowledge on how to communicate visually with videos since they are not directors. Therefore, they do not necessarily have the required skills neither to produce good videos in general nor to deduce what constitutes a good video for an existing approach. The discipline of video production provides numerous generic guidelines that represent best practices on how to produce a good video with specific characteristics. We propose to analyze this existing know-how to learn what constitutes a good video for visual communication. As a plan of action, we suggest a literature study of video production guidelines. We expect to identify quality characteristics of good videos in order to derive a quality model. Software professionals may use such a quality model for videos as an orientation for planning, shooting, post-processing, and viewing a video. Thus, we want to encourage and enable software professionals to produce good videos at moderate costs, yet sufficient quality.
△ Less
Submitted 15 August, 2018;
originally announced August 2018.
-
Task Interruption in Software Development Projects: What Makes some Interruptions More Disruptive than Others?
Authors:
Zahra Shakeri Hossein Abad,
Oliver Karras,
Kurt Schneider,
Ken Barker,
Mike Bauer
Abstract:
Multitasking has always been an inherent part of software development and is known as the primary source of interruptions due to task switching in software development teams. Developing software involves a mix of analytical and creative work, and requires a significant load on brain functions, such as working memory and decision making. Thus, task switching in the context of software development i…
▽ More
Multitasking has always been an inherent part of software development and is known as the primary source of interruptions due to task switching in software development teams. Developing software involves a mix of analytical and creative work, and requires a significant load on brain functions, such as working memory and decision making. Thus, task switching in the context of software development imposes a cognitive load that causes software developers to lose focus and concentration while working thereby taking a toll on productivity. To investigate the disruptiveness of task switching and interruptions in software development projects, and to understand the reasons for and perceptions of the disruptiveness of task switching we used a mixed-methods approach including a longitudinal data analysis on 4,910 recorded tasks of 17 professional software developers, and a survey of 132 software developers. We found that, compared to task-specific factors (e.g. priority, level, and temporal stage), contextual factors such as interruption type (e.g. self/external), time of day, and task type and context are a more potent determinant of task switching disruptiveness in software development tasks. Furthermore, while most survey respondents believe external interruptions are more disruptive than self-interruptions, the results of our retrospective analysis reveals otherwise. We found that self-interruptions (i.e. voluntary task switchings) are more disruptive than external interruptions and have a negative effect on the performance of the interrupted tasks. Finally, we use the results of both studies to provide a set of comparative vulnerability and interaction patterns which can be used as a mean to guide decision-making and forecasting the consequences of task switching in software development teams.
△ Less
Submitted 14 May, 2018;
originally announced May 2018.
-
Optimal Scheduling for Exposed Datapath Architectures with Buffered Processing Units by ASP
Authors:
Marc Dahlem,
Anoop Bhagyanath,
Klaus Schneider
Abstract:
Conventional processor architectures are restricted in exploiting instruction level parallelism (ILP) due to the relatively low number of programmer-visible registers. Therefore, more recent processor architectures expose their datapaths so that the compiler (1) can schedule parallel instructions to different processing units and (2) can make effective use of local storage of the processing units.…
▽ More
Conventional processor architectures are restricted in exploiting instruction level parallelism (ILP) due to the relatively low number of programmer-visible registers. Therefore, more recent processor architectures expose their datapaths so that the compiler (1) can schedule parallel instructions to different processing units and (2) can make effective use of local storage of the processing units. Among these architectures, the Synchronous Control Asynchronous Dataflow (SCAD) architecture is a new exposed datapath architecture whose processing units are equipped with first-in first-out (FIFO) buffers at their input and output ports.
In contrast to register-based machines, the optimal code generation for SCAD is still a matter of research. In particular, SAT and SMT solvers were used to generate optimal resource constrained and optimal time constrained schedules for SCAD, respectively. As Answer Set Programming (ASP) offers better flexibility in handling such scheduling problems, we focus in this paper on using an answer set solver for both resource and time constrained optimal SCAD code generation. As a major benefit of using ASP, we are able to generate \emph{all} optimal schedules for a given program which allows one to study their properties. Furthermore, the experimental results of this paper demonstrate that the answer set solver can compete with SAT solvers and outperforms SMT solvers. \emph{This paper is under consideration for acceptance in TPLP.}
△ Less
Submitted 29 April, 2018;
originally announced April 2018.
-
Reframing Societal Discourse as Requirements Negotiation: Vision Statement
Authors:
Kurt Schneider,
Oliver Karras,
Anne Finger,
Barbara Zibell
Abstract:
Challenges in spatial planning include adjusting settlement patterns to increasing or shrinking populations; it also includes organizing food delivery in rural and peripheral environments. Discourse typically starts with an open problem and the search for a holistic and innovative solution. Software will often be needed to implement the innovation. Spatial planning problems are characterized by la…
▽ More
Challenges in spatial planning include adjusting settlement patterns to increasing or shrinking populations; it also includes organizing food delivery in rural and peripheral environments. Discourse typically starts with an open problem and the search for a holistic and innovative solution. Software will often be needed to implement the innovation. Spatial planning problems are characterized by large and heterogeneous groups of stakeholders, such as municipalities, companies, interest groups, citizens, women and men, young people and children. Current techniques for participation are slow, laborious and costly, and they tend to miss out on many stakeholders or interest groups. We propose a triple shift in perspective: (1) Discourse is reframed as a requirements process with the explicit goal to state software, hardware, and organizational requirements. (2) Due to the above-mentioned characteristics of spatial planning problems, we suggest using techniques of requirements engineering (RE) and CrowdRE for getting stakeholders (e.g. user groups) involved. (3) We propose video as a medium for communicating problems, solution alternatives, and arguments effectively within a mixed crowd of officials, citizens, children and elderly people. Although few spatial planning problems can be solved by software alone, this new perspective helps to focus discussions anyway. RE techniques can assist in finding common ground despite the heterogeneous group of stakeholders, e.g. citizens. Digital requirements and video are well-suited for facilitating distribution, feedback, and discourse via the internet. In this paper, we propose this new perspective as a timely opportunity for the spatial planning domain - and as an increasingly important application domain of CrowdRE.
△ Less
Submitted 1 August, 2017;
originally announced August 2017.
-
Video as a By-Product of Digital Prototyping: Capturing the Dynamic Aspect of Interaction
Authors:
Oliver Karras,
Carolin Unger-Windeler,
Lennart Glauer,
Kurt Schneider
Abstract:
Requirements engineering provides several practices to analyze how a user wants to interact with a future software. Mockups, prototypes, and scenarios are suitable to understand usability issues and user requirements early. Nevertheless, users are often dissatisfied with the usability of a resulting software. Apparently, previously explored information was lost or no longer accessible during the d…
▽ More
Requirements engineering provides several practices to analyze how a user wants to interact with a future software. Mockups, prototypes, and scenarios are suitable to understand usability issues and user requirements early. Nevertheless, users are often dissatisfied with the usability of a resulting software. Apparently, previously explored information was lost or no longer accessible during the development phase. Scenarios are one effective practice to describe behavior. However, they are commonly notated in natural language which is often improper to capture and communicate interaction knowledge comprehensible to developers and users. The dynamic aspect of interaction is lost if only static descriptions are used. Digital prototyping enables the creation of interactive prototypes by adding responsive controls to hand- or digitally drawn mockups. We propose to capture the events of these controls to obtain a representation of the interaction. From this data, we generate videos, which demonstrate interaction sequences, as additional support for textual scenarios. Variants of scenarios can be created by modifying the captured event sequences and mockups. Any change is unproblematic since videos only need to be regenerated. Thus, we achieve video as a by-product of digital prototyping. This reduces the effort compared to video recording such as screencasts. A first evaluation showed that such a generated video supports a faster understanding of a textual scenario compared to static mockups.
△ Less
Submitted 1 August, 2017;
originally announced August 2017.
-
Is Task Board Customization Beneficial? - An Eye Tracking Study
Authors:
Oliver Karras,
Jil Klünder,
Kurt Schneider
Abstract:
The task board is an essential artifact in many agile development approaches. It provides a good overview of the project status. Teams often customize their task boards according to the team members' needs. They modify the structure of boards, define colored codings for different purposes, and introduce different card sizes. Although the customizations are intended to improve the task board's usab…
▽ More
The task board is an essential artifact in many agile development approaches. It provides a good overview of the project status. Teams often customize their task boards according to the team members' needs. They modify the structure of boards, define colored codings for different purposes, and introduce different card sizes. Although the customizations are intended to improve the task board's usability and effectiveness, they may also complicate its comprehension and use. The increased effort impedes the work of both the team and team externals. Hence, task board customization is in conflict with the agile practice of fast and easy overview for everyone. In an eye tracking study with 30 participants, we compared an original task board design with three customized ones to investigate which design shortened the required time to identify a particular story card. Our findings yield that only the customized task board design with modified structures reduces the required time. The original task board design is more beneficial than individual colored codings and changed card sizes. According to our findings, agile teams should rethink their current task board design. They may be better served by focusing on the original task board design and by applying only carefully selected adjustments. In case of customization, a task board's structure should be adjusted since this is the only beneficial kind of customization, that additionally complies more precisely with the concept of fast and easy project overview.
△ Less
Submitted 1 August, 2017;
originally announced August 2017.
-
What Works Better? A Study of Classifying Requirements
Authors:
Zahra Shakeri Hossein Abad,
Oliver Karras,
Parisa Ghazi,
Martin Glinz,
Guenther Ruhe,
Kurt Schneider
Abstract:
Classifying requirements into functional requirements (FR) and non-functional ones (NFR) is an important task in requirements engineering. However, automated classification of requirements written in natural language is not straightforward, due to the variability of natural language and the absence of a controlled vocabulary. This paper investigates how automated classification of requirements int…
▽ More
Classifying requirements into functional requirements (FR) and non-functional ones (NFR) is an important task in requirements engineering. However, automated classification of requirements written in natural language is not straightforward, due to the variability of natural language and the absence of a controlled vocabulary. This paper investigates how automated classification of requirements into FR and NFR can be improved and how well several machine learning approaches work in this context. We contribute an approach for preprocessing requirements that standardizes and normalizes requirements before applying classification algorithms. Further, we report on how well several existing machine learning methods perform for automated classification of NFRs into sub-categories such as usability, availability, or performance. Our study is performed on 625 requirements provided by the OpenScience tera-PROMISE repository. We found that our preprocessing improved the performance of an existing classification method. We further found significant differences in the performance of approaches such as Latent Dirichlet Allocation, Biterm Topic Modeling, or Naive Bayes for the sub-classification of NFRs.
△ Less
Submitted 7 July, 2017;
originally announced July 2017.
-
CCN Forwarding Strategies for Multihomed Mobile Terminals
Authors:
Klaus M. Schneider,
Kai Mast,
Udo R. Krieger
Abstract:
Current IP-based networks are unable to fully exploit the capabilities of the increasing number of multihomed mobile terminals. We argue that Content-Centric Networking (CCN), a novel networking architecture based on named information objects, can fill the gap. In this paper, we elicit requirements for CCN packet forwarding on multihomed mobile terminals. We categorize CCN forwarding strategies ac…
▽ More
Current IP-based networks are unable to fully exploit the capabilities of the increasing number of multihomed mobile terminals. We argue that Content-Centric Networking (CCN), a novel networking architecture based on named information objects, can fill the gap. In this paper, we elicit requirements for CCN packet forwarding on multihomed mobile terminals. We categorize CCN forwarding strategies according to their ability to fulfill these requirements and provide a real-world performance evaluation in the current CCNx prototype implementation. Moreover, we describe the initial design of an advanced multipath forwarding strategy.
△ Less
Submitted 14 December, 2014;
originally announced December 2014.
-
Orchestration of Global Software Engineering Projects
Authors:
Christian Bartelt,
Manfred Broy,
Christoph Herrmann,
Eric Knauss,
Marco Kuhrmann,
Andreas Rausch,
Bernhard Rumpe,
Kurt Schneider
Abstract:
Global software engineering has become a fact in many companies due to real necessity in practice. In contrast to co-located projects global projects face a number of additional software engineering challenges. Among them quality management has become much more difficult and schedule and budget overruns can be observed more often. Compared to co-located projects global software engineering is even…
▽ More
Global software engineering has become a fact in many companies due to real necessity in practice. In contrast to co-located projects global projects face a number of additional software engineering challenges. Among them quality management has become much more difficult and schedule and budget overruns can be observed more often. Compared to co-located projects global software engineering is even more challenging due to the need for integration of different cultures, different languages, and different time zones - across companies, and across countries. The diversity of development locations on several levels seriously endangers an effective and goal-oriented progress of projects. In this position paper we discuss reasons for global development, sketch settings for distribution and views of orchestration of dislocated companies in a global project that can be seen as a "virtual project environment". We also present a collection of questions, which we consider relevant for global software engineering. The questions motivate further discussion to derive a research agenda in global software engineering.
△ Less
Submitted 22 September, 2014;
originally announced September 2014.
-
Supporting acceptance testing in distributed software projects with integrated feedback systems: Experiences and requirements
Authors:
Olga Liskin,
Christoph Herrmann,
Eric Knauss,
Thomas Kurpick,
Bernhard Rumpe,
Kurt Schneider
Abstract:
During acceptance testing customers assess whether a system meets their expectations and often identify issues that should be improved. These findings have to be communicated to the developers a task we observed to be error prone, especially in distributed teams. Here, it is normally not possible to have developer representatives from every site attend the test. Developers who were not present mig…
▽ More
During acceptance testing customers assess whether a system meets their expectations and often identify issues that should be improved. These findings have to be communicated to the developers a task we observed to be error prone, especially in distributed teams. Here, it is normally not possible to have developer representatives from every site attend the test. Developers who were not present might misunderstand insufficiently documented findings. This hinders fixing the issues and endangers customer satisfaction. Integrated feedback systems promise to mitigate this problem. They allow to easily capture findings and their context. Correctly applied, this technique could improve feedback, while reducing customer effort. This paper collects our experiences from comparing acceptance testing with and without feedback systems in a distributed project. Our results indicate that this technique can improve acceptance testing if certain requirements are met. We identify key requirements feedback systems should meet to support acceptance testing.
△ Less
Submitted 1 September, 2014;
originally announced September 2014.
-
FLOW-Methode - Methodenbeschreibung zur Anwendung von FLOW
Authors:
Kai Stapel,
Kurt Schneider
Abstract:
Information of many kinds is flowing in software projects and organizations. Requirements have to flow from the customer to the developers. Testers need to know the requirements as well. Boundary conditions and design decisions have to be at the right place at the right time. Information flow analysis with FLOW facilitates modeling of mode and route of the flow of information and experience indepe…
▽ More
Information of many kinds is flowing in software projects and organizations. Requirements have to flow from the customer to the developers. Testers need to know the requirements as well. Boundary conditions and design decisions have to be at the right place at the right time. Information flow analysis with FLOW facilitates modeling of mode and route of the flow of information and experience independent of the development methodology. Experience often acts as a control factor, because experienced developers can process and route information more efficiently. Therefore, experience needs to be at the right place at the right time, too. However, most valuable experiences never get documented. Since information and experience is flowing in agile as well as in traditional environments, the FLOW method does not distinguish between agile and traditional, but only between how the flows are shaped.
----
In Softwareprojekten fließen vielerlei Informationen. Anforderungen müssen vom Kunden zu den Entwicklern gelangen. Auch Tester müssen die Anforderungen kennen. Randbedingungen und Entwurfsentscheidungen müssen zur rechten Zeit am rechten Ort sein. Die Informationsflussanalyse mit FLOW ermöglicht es, unabhängig von der Entwicklungsmethode zu modellieren, wie und auf welchem Wege Informationen und Erfahrungen fließen. Erfahrungen spielen dabei oft die Rolle von Steuergrößen, denn erfahrene Mitarbeiter können Informationen kompetenter bearbeiten und weiterleiten. Auch die Erfahrungen müssen in geeigneter Form zur rechten Zeit am rechten Ort sein. Viele Erfahrungen werden aber nie dokumentiert. Da Informationen und Erfahrungen sowohl in agilen als auch in traditionellen Umgebungen fließen müssen, wird in FLOW ein Modell aufgebaut, das nicht nach agil, traditionell oder anderen Bezeichnungen unterscheidet, sondern einzig danach, wie die Flüsse gestaltet sind.
△ Less
Submitted 27 February, 2012;
originally announced February 2012.
-
A LTL Fragment for GR(1)-Synthesis
Authors:
Andreas Morgenstern,
Klaus Schneider
Abstract:
The idea of automatic synthesis of reactive programs starting from temporal logic (LTL) specifications is quite old, but was commonly thought to be infeasible due to the known double exponential complexity of the problem. However, new ideas have recently renewed the interest in LTL synthesis: One major new contribution in this area is the recent work of Piterman et al. who showed how polynomial ti…
▽ More
The idea of automatic synthesis of reactive programs starting from temporal logic (LTL) specifications is quite old, but was commonly thought to be infeasible due to the known double exponential complexity of the problem. However, new ideas have recently renewed the interest in LTL synthesis: One major new contribution in this area is the recent work of Piterman et al. who showed how polynomial time synthesis can be achieved for a large class of LTL specifications that is expressive enough to cover many practical examples. These LTL specifications are equivalent to omega-automata having a so-called GR(1) acceptance condition. This approach has been used to automatically synthesize implementations of real-world applications. To this end, manually written deterministic omega-automata having GR(1) conditions were used instead of the original LTL specifications. However, manually generating deterministic monitors is, of course, a hard and error-prone task. In this paper, we therefore present algorithms to automatically translate specifications of a remarkable large fragment of LTL to deterministic monitors having a GR(1) acceptance condition so that the synthesis algorithms can start with more readable LTL specifications.
△ Less
Submitted 20 February, 2011;
originally announced February 2011.
-
Exploiting the Temporal Logic Hierarchy and the Non-Confluence Property for Efficient LTL Synthesis
Authors:
Andreas Morgenstern,
Klaus Schneider
Abstract:
The classic approaches to synthesize a reactive system from a linear temporal logic (LTL) specification first translate the given LTL formula to an equivalent omega-automaton and then compute a winning strategy for the corresponding omega-regular game. To this end, the obtained omega-automata have to be (pseudo)-determinized where typically a variant of Safra's determinization procedure is used. I…
▽ More
The classic approaches to synthesize a reactive system from a linear temporal logic (LTL) specification first translate the given LTL formula to an equivalent omega-automaton and then compute a winning strategy for the corresponding omega-regular game. To this end, the obtained omega-automata have to be (pseudo)-determinized where typically a variant of Safra's determinization procedure is used. In this paper, we show that this determinization step can be significantly improved for tool implementations by replacing Safra's determinization by simpler determinization procedures. In particular, we exploit (1) the temporal logic hierarchy that corresponds to the well-known automata hierarchy consisting of safety, liveness, Buechi, and co-Buechi automata as well as their boolean closures, (2) the non-confluence property of omega-automata that result from certain translations of LTL formulas, and (3) symbolic implementations of determinization procedures for the Rabin-Scott and the Miyano-Hayashi breakpoint construction. In particular, we present convincing experimental results that demonstrate the practical applicability of our new synthesis procedure.
△ Less
Submitted 7 June, 2010;
originally announced June 2010.