No abstract available.
Front Matter
Front Matter
Information-flow Interfaces
Contract-based design is a promising methodology for taming the complexity of developing sophisticated systems. A formal contract distinguishes between assumptions, which are constraints that the designer of a component puts on the environments in ...
A Survey-driven Feature Model for Software Traceability Approaches
Traceability is the capability to represent, understand and analyze the relationships between software artefacts. Traceability is at the core of many software engineering activities. This is a blessing in disguise as traceability research is ...
Construction of Verifier Combinations Based on Off-the-Shelf Verifiers
Software verifiers have different strengths and weaknesses, depending on properties of the verification task. It is well-known that combinations of verifiers via portfolio and selection approaches can help to combine the strengths. In this paper, ...
On the Detection of Doped Software by Falsification
Software doping is a phenomenon that refers to the presence of hidden software functionality, whose existence is only in the interest of the manufacturer. The most prominent example is the diesel emissions scandal. There is a need for methods that ...
Estimating Worst-case Resource Usage by Resource-usage-aware Fuzzing
Worst-case resource usage provides a useful guidance in the design, configuration and deployment of software, especially when it runs under a context with limited amount of resources. Static resource-bound analysis can provide sound upper bounds ...
Quantitative Program Sketching using Lifted Static Analysis
We present a novel approach for resolving numerical program sketches under Boolean and quantitative objectives. The input is a program sketch, which represents a partial program with missing numerical parameters (holes). The aim is to ...
SixthSense: Debugging Convergence Problems in Probabilistic Programs via Program Representation Learning
Probabilistic programming aims to open the power of Bayesian reasoning to software developers and scientists, but identification of problems during inference and debugging are left entirely to the developers and typically require significant ...
Finding Semantic Bugs Fast
Finding semantic bugs in code is difficult and requires precious expert time. Lacking comprehensive formal specifications, deductive verification is not an option. We propose an incremental specification procedure: With the help of automatic ...
SMC4PEP: Stochastic Model Checking of Product Engineering Processes
Product Engineering Processes (PEPs) are used for describing complex product developments in big enterprises such as automotive and avionics industries. The Business Process Model Notation (BPMN) is a widely used language to encode interactions ...
Symbolic Predictive Cache Analysis for Out-of-Order Execution
We propose a trace-based symbolic method for analyzing cache side channels of a program under a CPU-level optimization called out-of-order execution (OOE). The method is predictive in that it takes the in-order execution trace as input and then ...
PEQtest: Testing Functional Equivalence
Refactoring a program without changing the program’s functional behavior is challenging. To prevent that behavioral changes remain undetected, one may apply approaches that compare the functional behavior of original and refactored programs. ...
Semantic Code Search in Software Repositories using Neural Machine Translation
Nowadays, software development is accelerated through the reuse of code snippets found online in question-answering platforms and software repositories. In order to be efficient, this process requires forming an appropriate query and identifying ...
AequeVox: Automated Fairness Testing of Speech Recognition Systems
Automatic Speech Recognition (ASR) systems have become ubiquitous. They can be found in a variety of form factors and are increasingly important in our daily lives. As such, ensuring that these systems are equitable to different subgroups of the ...
SMT-Based Planning Synthesis for Distributed System Reconfigurations
Large distributed systems with an emphasis on adaptability are now considered a necessity in many domains, yet reconfiguration of these systems is still largely carried out in an ad hoc fashion, a process that is both inefficient and error-prone. ...
Semantic Clone Detection via Probabilistic Software Modeling
Semantic clone detection is the process of finding program elements with similar or equal runtime behavior. For example, detecting the semantic equality between the recursive and iterative implementation of the factorial computation. Semantic ...
QMaxUSE: A Query-based Verification Tool for UML Class Diagrams with OCL Invariants
Verifying whether a UML class diagram annotated with Object Constraint Language (OCL) constraints is consistent involves finding valid instances that provably meet its structural and OCL constraints. Recently, many tools and techniques have been ...
Front Matter
Advances in Automatic Software Testing: Test-Comp 2022
Test-Comp 2022 is the 4th edition of the Competition on Software Testing. Research competitions are a means to provide annual comparative evaluations. Test-Comp focusses on fully automatic software test generators for C programs. The results of ...
FuSeBMC v4: Smart Seed Generation for Hybrid Fuzzing: (Competition Contribution)
FuSeBMC is a test generator for finding security vulnerabilities in C programs. In Test-Comp 2021, we described a previous version that incrementally injected labels to guide Bounded Model Checking (BMC) and Evolutionary Fuzzing engines to produce ...
VeriFuzz: Good Seeds for Fuzzing (Competition Contribution)
We present VeriFuzz 1.2 with two new enhancements: (1) unroll the given program to a short depth and use BMC to produce incomplete test inputs, which are extended into complete inputs, and (2) if BMC fails for this short unrolling, automatically ...
Index Terms
- 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
Recommendations
Current perspectives on the software engineering process
AbstractThis volume comprises a selected set of high‐quality and extended articles of the 26th Systems, Software and Services Process Improvement (EuroSPI) Conference, held during September 18–20, 2019 in Edinburgh, UK. Conferences were held in Dublin (...