Ernst Denert Award for Software Engineering 2020 : Practice Meets Foundations.

Bibliographic Details
Main Author: Felderer, Michael.
Other Authors: Hasselbring, Wilhelm., Koziolek, Heiko., Matthes, Florian., Prechelt, Lutz., Reussner, Ralf., Rumpe, Bernhard., Schaefer, Ina.
Format: eBook
Language:English
Published: Cham : Springer International Publishing AG, 2022.
Edition:1st ed.
Subjects:
Online Access:Click to View
Table of Contents:
  • Intro
  • Contents
  • Ernst Denert Software Engineering Award 2020
  • 1 Introduction
  • 2 Overview of the Nominated PhD Theses
  • 3 The Work of the Award Winner
  • 4 Structure of the Book
  • Thanks
  • References
  • Some Patterns of Convincing Software Engineering Research, or: How to Win the Ernst Denert Software Engineering Award 2020
  • 1 Introduction
  • 2 Be in Scope
  • 3 Enumerate Your Assumptions
  • 4 Delineate Your Contribution
  • 5 Honestly Discuss Limitations
  • 6 Show Usefulness and Practical Applicability
  • 7 Have a Well-Prepared Nutshell
  • 8 Be Timeless
  • What You See Is What You Get: Practical Effect Handlers in Capability-Passing Style
  • 1 Introduction
  • 2 Effect Handlers
  • 2.1 Aborting the Computation
  • 2.2 Dynamic Dependencies
  • 2.3 Advanced Control Flow
  • 3 Effect Handlers and Object-Oriented Programming
  • 3.1 Capability Passing
  • 4 Lexically Scoped Effect Handlers: What You See Is What You Get
  • 4.1 Dynamically Scoped Effect Handlers
  • 4.2 Dynamic vs. Lexical Scoping
  • 4.3 Lexically Scoped Effect Handlers
  • 4.3.1 Effect Types Carry Meaning
  • 4.4 Effect Parametricity
  • 4.5 Effect Polymorphism
  • 4.5.1 The Traditional Reading
  • 4.5.2 The Contextual Reading
  • 4.5.3 Parametric vs. Contextual Effect Polymorphism
  • 4.5.4 Contextual Effect Polymorphism
  • 4.6 What You See Is What You Get
  • 5 Improving the Performance of Effect Handlers
  • 5.1 Optimizing Handler Search
  • 5.1.1 Optimizing Tail Resumptions
  • 5.2 Optimizing Continuation Capture
  • 5.3 Full Elimination of Control Abstractions
  • 5.4 Performance Evaluation
  • 6 Related Work
  • 7 Conclusion and Future Directions
  • 7.1 Future Directions
  • References
  • How to Effectively Reduce Failure Analysis Time?
  • 1 Introduction
  • 2 Failure Clustering
  • 2.1 Clustering Approach
  • 2.1.1 Failure Clustering with Coverage
  • 2.1.2 Failure Clustering Without Coverage.
  • 2.2 Industry Impact
  • 3 Fault Localization
  • 3.1 Syntactic Block Granularity
  • 3.2 Re-ranking Program Elements
  • 3.3 Evaluation
  • 3.4 Predicting the Quality of SBFL
  • 4 Contribution and Limitation
  • 5 Summary and Outlook
  • References
  • Open Source Software Governance: Distilling and Applying Industry Best Practices
  • 1 Introduction
  • 2 Distilling Industry Best Practices
  • 2.1 Getting Started with FLOSS Governance
  • 2.2 Supply Chain Management
  • 3 Applying Industry Best Practices
  • 3.1 Case Study A
  • 3.2 Case Study B
  • 4 Conclusion
  • References
  • Dynamically Scalable Fog Architectures
  • 1 Introduction
  • 2 xFog: An Extension for Fog Computing
  • 2.1 Fog Component
  • 2.2 Fog Visibility
  • 2.3 Fog Horizon
  • 2.4 Fog Reachability
  • 2.5 Fog Set
  • 2.6 Service Constraints
  • 2.7 Communication Set
  • 3 xFogPlus: Dynamic and Scalable Fog Architectures
  • 3.1 Dynamic Reconfigurability
  • 3.2 Scalability
  • 3.3 Handling Complexity
  • 4 xFogStar: A Workflow for Service Provider Selection
  • 5 Validation
  • 6 Conclusion
  • References
  • Crossing Disciplinary Borders to Improve Requirements Communication
  • 1 Introduction
  • 2 Background and Improvement Goals
  • 2.1 Requirements Artifacts
  • 2.2 Practical Improvement Goals
  • 2.3 Literature Review Activities
  • 3 Solution Idea and Research Approach
  • 4 Empirical Studies
  • 4.1 Research Goals and Agenda
  • 4.2 Analysis of Individual Studies: Empirical Baseline
  • 4.2.1 Data Analysis Strategy: An Example
  • 4.2.2 Data Interpretation
  • 4.3 Secondary Data Analysis: Role-Specific Views
  • 4.3.1 Data Analysis Strategy: An Example
  • 4.3.2 Data Interpretation
  • 4.3.3 Data Utilization
  • 5 Limitations and Future Work
  • 6 Summary
  • References
  • DevOpsUse: A Community-Oriented Methodology for Societal Software Engineering
  • 1 Introduction
  • 2 Motivation
  • 2.1 Central Hypothesis.
  • 2.2 Research Background
  • 3 DevOpsUse Methodology
  • 3.1 Continuous Innovation
  • 3.2 Collaborative Modeling
  • 3.3 Monitoring
  • 3.4 Connecting the DevOpsUse Life Cycle
  • 4 Methodological and Technical Evaluation
  • 4.1 Technology Evolution
  • 4.2 Best Practice Guidelines
  • 4.3 Application in Industry 4.0
  • 5 Conclusion
  • References
  • Hybrid Differential Software Testing
  • 1 Introduction
  • 2 Hybrid Differential Testing: Assumptions and Concept
  • 3 Differential Fuzzing
  • 4 Differential Dynamic Symbolic Execution
  • 5 General Framework for Hybrid Differential Software Testing
  • 6 Applications
  • 6.1 Regression Analysis (A1)
  • 6.2 Worst-Case Complexity Analysis (A2)
  • 6.3 Side-Channel Analysis (A3)
  • 6.4 Robustness Analysis of Neural Networks (A4)
  • 7 Conclusion and Future Work
  • References
  • Ever Change a Running System: Structured Software Reengineering Using Automatically Proven-Correct Transformation Rules
  • 1 Introduction
  • 2 Abstract Execution
  • 2.1 Specifying Abstract Programs
  • 2.2 Symbolic Execution of Abstract Program Elements
  • 3 The REFINITY Workbench
  • 4 Correctness of Refactoring Rules
  • 5 Restructuring for Parallelization
  • 6 Cost Analysis of Transformation Rules
  • 7 Conclusion and Future Work
  • References
  • Static Worst-Case Analyses and Their Validation Techniques for Safety-Critical Systems
  • 1 Introduction
  • 2 Worst-Case Analyses
  • 2.1 Background and System Model
  • 2.1.1 Analysis Pessimism
  • 2.1.2 System Model
  • 2.2 Problem Statement of WCEC Analysis
  • 2.3 SysWCEC: Whole-System WCEC Analysis
  • 2.3.1 Decomposition: Power Atomic Basic Blocks
  • 2.3.2 Path Exploration: Power-State-Transition Graph
  • 2.3.3 ILP Formulation
  • 2.3.4 Cost Modeling
  • 3 Validation of Worst-Case Analyses
  • 3.1 Problem Statement of Validating Worst-Case Analyses
  • 3.2 GenE: Benchmark Generator for WCET Tools.
  • 3.2.1 Program Pattern
  • 3.2.2 Pattern Suites
  • 3.2.3 Inputs and Outputs of GenE
  • 3.3 Benchmark Weaving
  • 3.4 MetricsWCA: Validation of GenE's Benchmarks
  • 3.5 Determining Individual Strengths and Weaknesses of Analyzers with GenE
  • 3.6 Validation of the aiT WCET Analyzer
  • 3.7 Related Work and Generators in the GenE Family
  • 3.7.1 Making Use of Analysis Pessimism on System Level
  • 4 Conclusion
  • References
  • Improving the Model-Based Systems Engineering Process
  • 1 Introduction
  • 2 Systems Engineering Process at Daimler AG
  • 2.1 Current Development Process at Daimler AG
  • 2.2 Improving the Development Process at Daimler AG
  • 3 Creating C&amp
  • C High-Level Designs Based on Requirements
  • 4 Automatic Structural Consistency Checks for Design Models
  • 5 Satisfaction Verification Between Design and Functional Model
  • 6 Creating C&amp
  • C Functional Models Efficiently with EmbeddedMontiArc
  • 7 Enriching C&amp
  • C Functional Models with Extra-Functional Properties in a Consistent Way
  • 8 Automatic Extra-Functional Property Verification Between Design and Functional Models
  • 9 Conclusion
  • References
  • Understanding How Pair Programming Actually Works in Industry: Mechanisms, Patterns, and Dynamics
  • 1 Introduction
  • 2 Overview of Pair Programming Research
  • 2.1 Quantitative Pair Programming Studies: Findings and Problems
  • 2.2 Qualitative Pair Programming Studies: Findings and Problems
  • 3 Research Goal, Data, and Method
  • 4 Results: How Does Pair Programming Work?
  • 4.1 Fluency and Togetherness
  • 4.2 Knowledge Wants, Knowledge Needs, and Prototypical Dynamics
  • 4.3 Practical Applications
  • 5 Summary and Outlook
  • References.