SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Tue 17 Nov 2020 15:00 - 15:20 at SPLASH-I - T-5 Chair(s): Raffi Khatchadourian, Tyler Sorensen
Wed 18 Nov 2020 03:00 - 03:20 at SPLASH-I - T-5 Chair(s): Burcu Kulahcioglu Ozkan, Reuben Rowe

Actor concurrency is becoming increasingly important in the development of real-world software systems. Although actor concurrency may be less susceptible to some multithreaded concurrency bugs, such as low-level data races and deadlocks, it comes with its own bugs that may be different. However, the fundamental characteristics of actor concurrency bugs, including their symptoms, root causes, API usages, examples, and differences when they come from different sources are still largely unknown. Actor software development can significantly benefit from a comprehensive qualitative and quantitative understanding of these characteristics, which is the focus of this work, to foster better API documentation, development practices, testing, debugging, repairing, and verification frameworks. To conduct this study, we take the following major steps. First, we construct a set of 186 real-world Akka actor bugs from Stack Overflow and GitHub via manual analysis of 3,924
Stack Overflow questions, answers, and comments and 3,315 GitHub commits, messages, original and modified code snippets, issues, and pull requests. Second, we manually study these actor bugs and their fixes to understand and classify their symptoms, root causes, and API usages. Third, we study the differences between the commonalities and distributions of symptoms, root causes, and API usages of our Stack Overflow and GitHub actor bugs. Fourth, we discuss real-world examples of our actor bugs with these symptoms and root causes. Finally, we investigate the relation of our findings with those of previous work and discuss their implications. A few findings of our study are: (1) symptoms of our actor bugs can be classified into five categories, with Error as the most common symptom and Incorrect Exceptions as the least common, (2) root causes of our actor bugs can be classified into ten categories, with Logic as the most common root cause and Untyped Communication as the least common, (3) a small number of Akka API packages are responsible for most of API usages by our actor bugs, and (4) our Stack Overflow and GitHub actor bugs can differ significantly in commonalities and distributions of their symptoms, root causes, and API usages. While some of our findings agree with those of previous work, others sharply contrast.

Tue 17 Nov
Times are displayed in time zone: Central Time (US & Canada) change

15:00 - 16:20: T-5OOPSLA at SPLASH-I +12h
Chair(s): Raffi KhatchadourianCity University of New York, Tyler SorensenUniversity of California at Santa Cruz
15:00 - 15:20
Talk
Actor Concurrency Bugs: A Comprehensive Study on Symptoms, Root Causes, API Usages, and Differences
OOPSLA
Mehdi BagherzadehOakland University, Nicholas FiremanOakland University, Anas ShaweshOakland University, Raffi KhatchadourianCity University of New York
Link to publication DOI Pre-print Media Attached
15:20 - 15:40
Talk
Knowing When to Ask: Sound Scheduling of Name Resolution in Type Checkers Derived from Declarative Specifications
OOPSLA
Arjen RouvoetDelft University of Technology, Hendrik van AntwerpenDelft University of Technology, Casper Bach PoulsenDelft University of Technology, Robbert KrebbersRadboud University Nijmegen, Eelco VisserDelft University of Technology
Link to publication DOI Pre-print Media Attached
15:40 - 16:00
Talk
Fuzzing Channel-Based Concurrency Runtimes using Types and Effects
OOPSLA
Quentin StiévenartVrije Universiteit Brussel, Magnus MadsenAarhus University
Link to publication DOI Media Attached
16:00 - 16:20
Talk
Regex Matching with Counting-Set Automata
OOPSLA
Lenka TuroňováBrno University of Technology, Lukáš HolíkBrno University of Technology, Ondřej LengálBrno University of Technology, Olli SaarikiviMicrosoft, Margus VeanesMicrosoft, Tomáš VojnarBrno University of Technology
Link to publication DOI Media Attached

Wed 18 Nov
Times are displayed in time zone: Central Time (US & Canada) change

03:00 - 04:20: T-5OOPSLA at SPLASH-I
Chair(s): Burcu Kulahcioglu OzkanMPI-SWS, Reuben RoweUniversity College London
03:00 - 03:20
Talk
Actor Concurrency Bugs: A Comprehensive Study on Symptoms, Root Causes, API Usages, and Differences
OOPSLA
Mehdi BagherzadehOakland University, Nicholas FiremanOakland University, Anas ShaweshOakland University, Raffi KhatchadourianCity University of New York
Link to publication DOI Pre-print Media Attached
03:20 - 03:40
Talk
Knowing When to Ask: Sound Scheduling of Name Resolution in Type Checkers Derived from Declarative Specifications
OOPSLA
Arjen RouvoetDelft University of Technology, Hendrik van AntwerpenDelft University of Technology, Casper Bach PoulsenDelft University of Technology, Robbert KrebbersRadboud University Nijmegen, Eelco VisserDelft University of Technology
Link to publication DOI Pre-print Media Attached
03:40 - 04:00
Talk
Fuzzing Channel-Based Concurrency Runtimes using Types and Effects
OOPSLA
Quentin StiévenartVrije Universiteit Brussel, Magnus MadsenAarhus University
Link to publication DOI Media Attached
04:00 - 04:20
Talk
Regex Matching with Counting-Set Automata
OOPSLA
Lenka TuroňováBrno University of Technology, Lukáš HolíkBrno University of Technology, Ondřej LengálBrno University of Technology, Olli SaarikiviMicrosoft, Margus VeanesMicrosoft, Tomáš VojnarBrno University of Technology
Link to publication DOI Media Attached