This open access book constitutes the proceedings of the 31st European Symposium on Programming, ESOP 2022, which was held during April 5-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 21 regular papers presented in this volume were carefully reviewed and selected from 64 submissions. They deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems.
This book constitutes the refereed proceedings of the 14th Asian Symposium on Programming Languages and Systems, APLAS 2016, held in Hanoi, Vietnam, in November 2016. The papers cover a variety of topics such as semantics, logics, and foundational theory; design of languages type systems, and foundational calculi; domain-specific languages; compilers, interpreters, and abstract machines; program derivation, synthesis and transformation; program analysis, verification, and model-checking; logic, constraint, probabilistic and quantum programming; software security; concurrency and parallelism; tools for programming and implementation.
This open access book constitutes the proceedings of the 32nd European Symposium on Programming, ESOP 2023, which was held during April 22-27, 2023, in Paris, France, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023. The 20 regular papers presented in this volume were carefully reviewed and selected from 55 submissions. They deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems.
The Conference on Formal Methods in Computer-Aided Design (FMCAD) is an annual conference on the theory and applications of formal methods in hardware and system in academia and industry for presenting and discussing groundbreaking methods, technologies, theoretical results, and tools for reasoning formally about computing systems. FMCAD covers formal aspects of computer-aided system testing.
This book constitutes the refereed proceedings of the 19th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2018, held in Los Angeles, CA, USA, in January 2018.The 24 full papers presented together with the abstracts of 3 invited keynotes and 1 invited tutorial were carefully reviewed and selected from 43 submissions. VMCAI provides topics including: program verification, model checking, abstract interpretation, program synthesis, static analysis, type systems, deductive methods, program certification, decision procedures, theorem proving, program certification, debugging techniques, program transformation, optimization, and hybrid and cyber-physical systems.
This book discusses automated string-analysis techniques, focusing particularly on automata-based static string analysis. It covers the following topics: automata-bases string analysis, computing pre and post-conditions of basic string operations using automata, symbolic representation of automata, forward and backward string analysis using symbolic automata representation, constraint-based string analysis, string constraint solvers, relational string analysis, vulnerability detection using string analysis, string abstractions, differential string analysis, and automated sanitization synthesis using string analysis. String manipulation is a crucial part of modern software systems; for example, it is used extensively in input validation and sanitization and in dynamic code and query generation. The goal of string-analysis techniques and this book is to determine the set of values that string expressions can take during program execution. String analysis can be used to solve many problems in modern software systems that relate to string manipulation, such as: (1) Identifying security vulnerabilities by checking if a security sensitive function can receive an input string that contains an exploit; (2) Identifying possible behaviors of a program by identifying possible values for dynamically generated code; (3) Identifying html generation errors by computing the html code generated by web applications; (4) Identifying the set of queries that are sent to back-end database by analyzing the code that generates the SQL queries; (5) Patching input validation and sanitization functions by automatically synthesizing repairs illustrated in this book. Like many other program-analysis problems, it is not possible to solve the string analysis problem precisely (i.e., it is not possible to precisely determine the set of string values that can reach a program point). However, one can compute over- or under-approximations of possible string values. If the approximations are precise enough, they can enable developers to demonstrate existence or absence of bugs in string manipulating code. String analysis has been an active research area in the last decade, resulting in a wide variety of string-analysis techniques. This book will primarily target researchers and professionals working in computer security, software verification, formal methods, software engineering and program analysis. Advanced level students or instructors teaching or studying courses in computer security, software verification or program analysis will find this book useful as a secondary text.
This book constitutes the refereed proceedings of the 24th International Static Analysis Symposium, SAS 2017, held in New York, NY, USA, in August/September 2017. The 22 papers presented in this volume were carefully reviewed and selected from 50 submissions. The papers cover various aspects of the presentation of theoretical, practical, and applicational advances in area of static analysis that is recognized as a fundamental tool for program verification, bug detection, compiler organization, program understanding, and software maintenance.
This book constitutes the refereed proceedings of the 24th Symposium on Formal Methods, FM 2021, held virtually in November 2021. The 43 full papers presented together with 4 invited presentations were carefully reviewed and selected from 131 submissions. The papers are organized in topical sections named: Invited Presentations. - Interactive Theorem Proving, Neural Networks & Active Learning, Logics & Theory, Program Verification I, Hybrid Systems, Program Verification II, Automata, Analysis of Complex Systems, Probabilities, Industry Track Invited Papers, Industry Track, Divide et Impera: Efficient Synthesis of Cyber-Physical System.
This book constitutes the refereed proceedings of the 31st International Conference on Logic-Based Program Synthesis and Transformation, LOPSTR 2021, which was held during September 7-8, 2021.* The 8 papers presented in this volume were carefully reviewed and selected from a total of 15 reviewed submissions. Additionally, the book also contains 1 full-length invited talk. *Conference was held as a hybrid event due to the COVID-19 pandemic.
This open access book constitutes the proceedings of the 27th European Symposium on Programming, ESOP 2018, which took place in Thessaloniki, Greece in April 2018, held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018. The 36 papers presented in this volume were carefully reviewed and selected from 114 submissions. The papers are organized in topical sections named: language design; probabilistic programming; types and effects; concurrency; security; program verification; program analysis and automated verification; session types and concurrency; concurrency and distribution; and compiler verification.