Fundamental Approaches to Software Engineering : 25th International Conference, FASE 2022, Held As Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2–7, 2022, Proceedings
معرفی کتاب «Fundamental Approaches to Software Engineering : 25th International Conference, FASE 2022, Held As Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2–7, 2022, Proceedings» نوشتهٔ Einar Broch Johnsen; Manuel Wimmer; SpringerLink (Online service)، منتشرشده توسط نشر Springer International Publishing : Imprint: Springer در سال 1324. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
This open access book constitutes the proceedings of the 25th International Conference on Fundamental Approaches to Software Engineering, FASE 2022, which was held during April 4-5, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 17 regular papers presented in this volume were carefully reviewed and selected from 64 submissions. The proceedings also contain 3 contributions from the Test-Comp Competition. The papers deal with the foundations on which software engineering is built, including topics like software engineering as an engineering discipline, requirements engineering, software architectures, software quality, model-driven development, software processes, software evolution, AI-based software engineering, and the specification, design, and implementation of particular classes of systems, such as (self-)adaptive, collaborative, AI, embedded, distributed, mobile, pervasive, cyber-physical, or service-oriented applications. ETAPS Foreword Preface Organization Contents FASE Contributions Information-flow Interfaces 1 Introduction 2 Application Example 3 Stateless Information-flow Interfaces 3.1 Composition and Incremental Design 3.2 Refinement and Independent Implementability 3.3 Discussion 4 Stateful Information-Flow Interfaces 5 Related Work 6 Conclusion References A Survey-driven Feature Model for Software Traceability Approaches 1 Introduction 2 State of the art of software traceability 3 Towards a common traceablility terminology 3.1 Traceability components 3.2 Traceability glossary 4 Traceability Survey method 4.1 Data source and search strategy 4.2 Pruning 4.3 Snowballing 4.4 Threats to validity in the selection process 5 A feature model to characterize software traceability 5.1 Introduction to feature modelling 5.2 Trace definition and representation 5.3 Trace identification 5.4 Trace management 6 Discussion 7 Conclusion References Construction of Verifier Combinations Based on Off-the-Shelf Verifiers 1 Introduction 2 Improving Verification by Verifier Combinations 3 Construction of Verifier Combinations with CoVeriTeam 3.1 Verifier Based on Sequential Portfolio 3.2 Verifier Based on Parallel Portfolios 3.3 Verifier Based on Algorithm Selection 3.4 Extensibility 4 Evaluation 4.1 Experimental Setup 4.2 Results of Existing Verifiers as Standalone 4.3 RQ 1: Evaluation of Sequential-Portfolio Verifier 4.4 RQ 2: Evaluation of Parallel-Portfolio Verifier 4.5 RQ 3: Evaluation of Algorithm Selection Verifier 4.6 Discussion 5 Threats to Validity 6 Related Work 7 Conclusion References On the Detection of Doped Software by Falsification 1 Introduction 2 Background 2.1 Temporal Logics 2.2 Software Doping 3 Logical characterisation for mixed IO 4 Diesel Emissions 5 Conclusion & Future Work References Estimating Worst-case Resource Usage by Resource-usage-aware Fuzzing 1 Introduction 2 Approach 2.1 Static analysis and instrumentation 2.2 Fuzzing loop 3 Experiments 4 Related Work 5 Conclusion and Future Work References Quantitative Program Sketching using Lifted Static Analysis 1 Introduction 2 Motivating Examples 3 Transforming Sketches to Program Families 4 Decision Tree-based Lifted Analyses 4.1 Abstract domain for decision nodes 4.2 Abstract domain for leaf nodes 4.3 Decision tree lifted domains 4.4 Decision tree-based lifted analysis 5 Synthesis Algorithm 6 Evaluation 7 Related Work 8 Conclusion References SixthSense: Debugging Convergence Problems in Probabilistic Programs via Program Representation Learning 1 Introduction 1.1 SixthSense 1.2 Results 1.3 Contributions 2 Example 3 Overview 4 Learning Program Features 4.1 Extracting Features from Programs 4.2 Data Features 4.3 Runtime Features 5 Program Generation for Training Set Augmentation 5.1 Code Mutations 5.2 Data Mutations 5.3 Adaptive Algorithm for Mutant Generation 6 Methodology 6.1 Baselines, Metrics, and Classification 6.2 Evaluation Experimental Setup 7 Evaluation 7.1 Predicting Convergence of Inference 7.2 Debugging Non-Converging Programs 8 Sensitivity Analysis 9 Related Work 10 Conclusion References Finding Semantic Bugs Fast 1 Introduction 2 Validating Program Runs 2.1 Syntax 2.2 Validation Procedure 3 Checking/Verification 4 Examples 5 Conclusion and Related Work References SMC4PEP: Stochastic Model Checking of Product Engineering Processes 1 Introduction 2 Related Tools 3 SMC4PEP Architecture andWorkflow 4 Case Studies 5 Conclusion References Symbolic Predictive Cache Analysis for Out-of-Order Execution 1 Introduction 2 Motivation 2.1 The Example Program 2.2 The Execution Order 2.3 The Cache State 2.4 The Side-channel Leak 3 Preliminaries 3.1 The Execution Model 3.2 The Cache Model 4 Analyzing the In-Order Execution 4.1 Computing the Dependencies 4.2 Computing the Default Cache States 5 Analyzing the Out-of-Order Executions 5.1 Symbolic Encoding 5.2 The Overall Algorithm 5.3 Optimizations of the Symbolic Encoding 6 Experiments 6.1 Benchmarks 6.2 Leakage Detection Results 6.3 Scalability Results 7 Related Work 8 Conclusions References PEQtest: Testing Functional Equivalence 1 Introduction 2 Background 3 Generating Test Programs with PEQtest 4 Evaluation 4.1 Experimental Setup 4.2 Experiments 5 Related Work 6 Conclusion References An Institutional Approach to Communicating UML State Machines 1 Introduction 2 Background on Institutions and Casl 2.1 Institutions and Theoroidal Institution Comorphisms 2.2 Casl and the Institution CFOL= 3 The Hybrid Modal LogicM#D for Event/Data Systems 3.1 Data States and Transitions 3.2 Events and Messages 3.2 Events/Data Signatures 3.4 Event/Data Structures 3.5 Event/Data Formulæ and Sentences 3.6 Satisfaction Relation forM# 3.7 A Theoroidal Comorphism fromM#D to Casl 4 Simple UML State Machines with Outputs 5 Simple UML Composite Structures 6 Verification Example: Communication between User, ATM and Bank 7 Conclusion References Semantic Code Search in Software Repositories using Neural Machine Translation 1 Introduction 2 Related Work 3 Semantic Code Search using Machine Translation 3.1 Data Preprocessor 3.2 Neural Network 3.3 Index Builder 4 Evaluation 4.1 Evaluation using CodeSearchNet Queries 4.2 Evaluation using Stack Overflow Questions 5 Conclusion References AequeVox: Automated Fairness Testing of Speech Recognition Systems 1 Introduction 2 Background 3 Methodology 4 Datasets and Experimental Setup 5 Results 6 Threats to Validity 7 Related Work 8 Conclusion References SMT-Based Planning Synthesis for Distributed System Reconfigurations 1 Introduction 2 Reconfiguration With Concerto 3 Reconfiguration Script Synthesis 3.1 Determining Sequences of Component Behaviors 3.2 Assembly-Level Reconfiguration Scheduling 3.3 Determining Missing Behaviors 3.4 Relaxation of Synchronization Barriers 4 Experiments 4.1 Implementation 4.2 Results Over Synthetic Examples 4.3 OpenStack Use Case 5 Related work 6 Conclusion References Semantic Clone Detection via Probabilistic Software Modeling 1 Introduction 2 Background 2.1 Clone Detection 2.2 Programs & Code Elements 2.3 Probabilistic Software Modeling 3 Semantic Clones 4 Approach 4.1 Modeling 4.2 Search Space 4.3 Static Similarity 4.4 Dynamic Similarity 4.5 Model Similarity 5 Study 5.1 Setup 5.2 Dataset 5.3 Controlled Variables 5.4 Response Variables 5.5 Comparison of Clone Detectors 5.6 Experiment Results 6 Discussion 6.1 Research Question 1 — Detection Performance 6.2 Research Question 2 — Skip Evaluation Scalability 6.3 Research Question 3 — Skip Evaluation Effects 7 Limitations 8 Threats to Validity 9 Related Work 10 Conclusions and Future Work References QMaxUSE: A Query-based Verification Tool for UML Class Diagrams with OCL Invariants 1 Introduction 2 Architecture 3 Design 3.1 Query 3.2 Concurrent Verification 4 Results 5 Conclusion References Test-Comp Contributions Advances in Automatic Software Testing: Test-Comp 2022 1 Introduction 2 Definitions, Formats, and Rules 3 Categories and Scoring Schema 4 Reproducibility 5 Results and Discussion 6 Conclusion References FuSeBMC v4: Smart Seed Generation for Hybrid Fuzzing 1 Overview 2 Test Generation Approach 3 Strengths and Weaknesses 4 Tool Setup and Configuration 5 Software Project References VeriFuzz: Good Seeds for Fuzzing 1 Introduction 1.1 Enhancement 1 : New Seed Generation Approach 1.2 Enhancement 2: Remedying A Stuck or Failed BMC 2 Tool Architecture and Flow 3 Strengths and Weaknesses 4 VeriFuzz Tool Configuration and Setup 5 Software Project and Contributors References Author Index
دانلود کتاب Fundamental Approaches to Software Engineering : 25th International Conference, FASE 2022, Held As Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2–7, 2022, Proceedings