308 research outputs found
Software Architecture in Practice: Challenges and Opportunities
Software architecture has been an active research field for nearly four
decades, in which previous studies make significant progress such as creating
methods and techniques and building tools to support software architecture
practice. Despite past efforts, we have little understanding of how
practitioners perform software architecture related activities, and what
challenges they face. Through interviews with 32 practitioners from 21
organizations across three continents, we identified challenges that
practitioners face in software architecture practice during software
development and maintenance. We reported on common software architecture
activities at software requirements, design, construction and testing, and
maintenance stages, as well as corresponding challenges. Our study uncovers
that most of these challenges center around management, documentation, tooling
and process, and collects recommendations to address these challenges.Comment: Preprint of Full Research Paper, the 31st ACM Joint European Software
Engineering Conference and Symposium on the Foundations of Software
Engineering (ESEC/FSE '23
Ernst Denert Award for Software Engineering 2020
This open access book provides an overview of the dissertations of the eleven nominees for the Ernst Denert Award for Software Engineering in 2020. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice. The book contains eleven papers that describe the works by Jonathan BrachthĂ€user (EPFL Lausanne) entitled What You See Is What You Get: Practical Effect Handlers in Capability-Passing Style, Mojdeh Golaghaâs (Fortiss, Munich) thesis How to Effectively Reduce Failure Analysis Time?, Nikolay Harutyunyanâs (FAU Erlangen-NĂŒrnberg) work on Open Source Software Governance, Dominic Henzeâs (TU Munich) research about Dynamically Scalable Fog Architectures, Anne Hessâs (Fraunhofer IESE, Kaiserslautern) work on Crossing Disciplinary Borders to Improve Requirements Communication, Istvan Korenâs (RWTH Aachen U) thesis DevOpsUse: A Community-Oriented Methodology for Societal Software Engineering, Yannic Nollerâs (NU Singapore) work on Hybrid Differential Software Testing, Dominic Steinhofelâs (TU Darmstadt) thesis entitled Ever Change a Running System: Structured Software Reengineering Using Automatically Proven-Correct Transformation Rules, Peter WĂ€gemannâs (FAU Erlangen-NĂŒrnberg) work Static Worst-Case Analyses and Their Validation Techniques for Safety-Critical Systems, Michael von Wencksternâs (RWTH Aachen U) research on Improving the Model-Based Systems Engineering Process, and Franz Zierisâs (FU Berlin) thesis on Understanding How Pair Programming Actually Works in Industry: Mechanisms, Patterns, and Dynamics â which actually won the award. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work
Ernst Denert Award for Software Engineering 2020
This open access book provides an overview of the dissertations of the eleven nominees for the Ernst Denert Award for Software Engineering in 2020. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice. The book contains eleven papers that describe the works by Jonathan BrachthĂ€user (EPFL Lausanne) entitled What You See Is What You Get: Practical Effect Handlers in Capability-Passing Style, Mojdeh Golaghaâs (Fortiss, Munich) thesis How to Effectively Reduce Failure Analysis Time?, Nikolay Harutyunyanâs (FAU Erlangen-NĂŒrnberg) work on Open Source Software Governance, Dominic Henzeâs (TU Munich) research about Dynamically Scalable Fog Architectures, Anne Hessâs (Fraunhofer IESE, Kaiserslautern) work on Crossing Disciplinary Borders to Improve Requirements Communication, Istvan Korenâs (RWTH Aachen U) thesis DevOpsUse: A Community-Oriented Methodology for Societal Software Engineering, Yannic Nollerâs (NU Singapore) work on Hybrid Differential Software Testing, Dominic Steinhofelâs (TU Darmstadt) thesis entitled Ever Change a Running System: Structured Software Reengineering Using Automatically Proven-Correct Transformation Rules, Peter WĂ€gemannâs (FAU Erlangen-NĂŒrnberg) work Static Worst-Case Analyses and Their Validation Techniques for Safety-Critical Systems, Michael von Wencksternâs (RWTH Aachen U) research on Improving the Model-Based Systems Engineering Process, and Franz Zierisâs (FU Berlin) thesis on Understanding How Pair Programming Actually Works in Industry: Mechanisms, Patterns, and Dynamics â which actually won the award. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work
The Role of Complex Constraints in Feature Modeling: Masterâs Thesis
Feature modeling is a method to compactly capture commonality and variability of a software product line. Multiple feature modeling languages have been proposed that evolved over the last decades to become more expressive in syntax and semantics. Most of todayâs languages are capable of utilizing arbitrary propositional formulas in cross-tree constraints, denoted as complex constraints, a mechanism enabling complete expressiveness. However, many of todayâs publications and feature model applications are targeting older, less expressive languages, due to their history and long domination in the product-line community. We present a study on the importance of complex constraints in feature modeling. Furthermore, to build a bridge between feature models using complex constraints and methods lacking support for complex constraints, we present a sound refactoring of complex constraints, discuss preconditions that must be met, and conduct empirical experiments on real-world feature models to evaluate its usefulness and scalability.Feature-Modellierung ist eine Methode, um Gemeinsamkeiten und VariabilitĂ€t einer Produktlinie in der Softwareentwicklung kompakt darzustellen. Ăber die letzten Jahrzehnte wurden verschiedene Sprachen fĂŒr die Feature-Modellierung vorgestellt, die sich sowohl syntaktisch als auch semantisch voneinander unterscheiden. Viele der heute eingesetzten Sprachen unterstĂŒtzen die Angabe beliebiger logischer AudrĂŒcke, so genannte komplexe Constraints, um orthogonale Beziehungen zwischen Features festzulegen. Komplexe Constraints geben einer Feature-Modellierungssprache volle AusdrucksmĂ€chtigkeit. Allerdings werden heutzutage immer noch eine groĂe Menge an Methoden und Applikationen publiziert, die auf bekanntere Sprachen mit weniger AusdrucksmĂ€chtigkeit aufbauen. In dieser Arbeit untersuchen wir die Notwenidigkeit von komplexen Constraints in der Feature Modellierung. Zudem ĂŒberbrĂŒcken wir die Problematik zwischen neueren Sprachen mit komplexen Constraints und Methoden und Tools, die auf Ă€lteren Sprachen aufbauen, indem wir einen Ansatz prĂ€sentieren, um komplexe Constraints in Feature Modellen zu eliminieren. Wir diskutieren Vorbedingungen und evaluieren unseren Ansatz hinsichtlich Nutzen und Skalierbarkeit an Feature Modellen aus der realen Welt
Grand Challenges of Traceability: The Next Ten Years
In 2007, the software and systems traceability community met at the first
Natural Bridge symposium on the Grand Challenges of Traceability to establish
and address research goals for achieving effective, trustworthy, and ubiquitous
traceability. Ten years later, in 2017, the community came together to evaluate
a decade of progress towards achieving these goals. These proceedings document
some of that progress. They include a series of short position papers,
representing current work in the community organized across four process axes
of traceability practice. The sessions covered topics from Trace Strategizing,
Trace Link Creation and Evolution, Trace Link Usage, real-world applications of
Traceability, and Traceability Datasets and benchmarks. Two breakout groups
focused on the importance of creating and sharing traceability datasets within
the research community, and discussed challenges related to the adoption of
tracing techniques in industrial practice. Members of the research community
are engaged in many active, ongoing, and impactful research projects. Our hope
is that ten years from now we will be able to look back at a productive decade
of research and claim that we have achieved the overarching Grand Challenge of
Traceability, which seeks for traceability to be always present, built into the
engineering process, and for it to have "effectively disappeared without a
trace". We hope that others will see the potential that traceability has for
empowering software and systems engineers to develop higher-quality products at
increasing levels of complexity and scale, and that they will join the active
community of Software and Systems traceability researchers as we move forward
into the next decade of research
Grand Challenges of Traceability: The Next Ten Years
In 2007, the software and systems traceability community met at the first
Natural Bridge symposium on the Grand Challenges of Traceability to establish
and address research goals for achieving effective, trustworthy, and ubiquitous
traceability. Ten years later, in 2017, the community came together to evaluate
a decade of progress towards achieving these goals. These proceedings document
some of that progress. They include a series of short position papers,
representing current work in the community organized across four process axes
of traceability practice. The sessions covered topics from Trace Strategizing,
Trace Link Creation and Evolution, Trace Link Usage, real-world applications of
Traceability, and Traceability Datasets and benchmarks. Two breakout groups
focused on the importance of creating and sharing traceability datasets within
the research community, and discussed challenges related to the adoption of
tracing techniques in industrial practice. Members of the research community
are engaged in many active, ongoing, and impactful research projects. Our hope
is that ten years from now we will be able to look back at a productive decade
of research and claim that we have achieved the overarching Grand Challenge of
Traceability, which seeks for traceability to be always present, built into the
engineering process, and for it to have "effectively disappeared without a
trace". We hope that others will see the potential that traceability has for
empowering software and systems engineers to develop higher-quality products at
increasing levels of complexity and scale, and that they will join the active
community of Software and Systems traceability researchers as we move forward
into the next decade of research
Test-driven development of embedded control systems: application in an automotive collision prevention system
With test-driven development (TDD) new code is not written until an automated test has failed, and duplications of functions, tests, or simply code fragments are always removed. TDD can lead to a better design and a higher quality of the developed system, but to date it has mainly been applied to the development of traditional software systems such as payroll applications. This thesis describes the novel application of TDD to the development of embedded control systems using an automotive safety system for preventing collisions as an example.
The basic prerequisite for test-driven development is the availability of an automated testing framework as tests are executed very often. Such testing frameworks have been developed for nearly all programming languages, but not for the graphical, signal driven language Simulink. Simulink is commonly used in the automotive industry and can be considered as state-of-the-art for the design and development of embedded control systems in the automotive, aerospace and other industries. The thesis therefore introduces a novel automated testing framework for Simulink. This framework forms the basis for the test-driven development process by integrating the analysis, design and testing of embedded control systems into this process.
The thesis then shows the application of TDD to a collision prevention system. The system architecture is derived from the requirements of the system and four software components are identiïŹed, which represent problems of particular areas for the realisation of control systems, i.e. logical combinations, experimental problems, mathematical algorithms, and control theory. For each of these problems, a concept to systematically derive test cases from the requirements is presented. Moreover two conventional approaches to design the controller are introduced and compared in terms of their stability and performance.
The eïŹectiveness of the collision prevention system is assessed in trials on a driving simulator. These trials show that the system leads to a signiïŹcant reduction of the accident rate for rear-end collisions. In addition, experiments with prototype vehicles on test tracks and ïŹeld tests are presented to verify the systemâs functional requirements within a system testing approach. Finally, the new test-driven development process for embedded control systems is evaluated in comparison to traditional development processes
- âŠ