Ernst Denert Award for Software Engineering 2020 : Practice Meets Foundations.
| Main Author: | |
|---|---|
| Other Authors: | , , , , , , |
| 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&
- 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&
- C Functional Models Efficiently with EmbeddedMontiArc
- 7 Enriching C&
- 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.


