ECOOP 2020
Sun 15 - Tue 17 November 2020 Online Conference
co-located with SPLASH 2020
Mon 16 Nov 2020 04:00 - 04:20 at SPLASH-I - S-5 Chair(s): Davide Ancona, Jeremy Gibbons
Sun 15 Nov 2020 16:00 - 16:20 at SPLASH-I - S-5 Chair(s): Davide Ancona, Eli Tilevich

We describe internal test case reduction, the method of test case reduction employed by the widely-used Hypothesis property-based testing tool for Python. The key idea of internal test-case reduction is that instead of applying test-case reduction externally to generated test cases, we apply it internally, to the sequence of random choices made during generation, so that a test case is reduced by continually re-generating smaller and simpler test cases that continue to trigger some property of interest in the system under test (e.g. a failure). This allows for fully generic test-case reduction without any user intervention and without the need to write a specific test case reducer for a particular application domain. It also significantly mitigates the test-case validity problem of test-case reduction by ensuring that any reduced test case is one that could in principle have been generated. We describe the rationale behind this approach, explain how it is implemented in Hypothesis in practice, and present an extensive evaluation comparing its effectiveness to that of several other test case reducers, including C-Reduce, Picire and the TSTL reducer, on applications including Python auto-formatting, C compilers, and the SymPy symbolic math library. Our hope is that these insights into the reduction mechanism employed by Hypothesis will be useful to researchers interested in randomized testing and test case reduction, as the crux of the approach is fully generic and should be applicable to any random generator of test cases.

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

15:00 - 16:20: S-5Research Papers at SPLASH-I +12h
Chair(s): Davide AnconaDIBRIS, University of Genova, Italy, Eli TilevichVirginia Tech
15:00 - 15:20
Talk
Model-View-Update-Communicate: Session Types meet the Elm Architecture
Research Papers
Simon FowlerUniversity of Glasgow
Link to publication DOI Pre-print Media Attached
15:20 - 15:40
Talk
Putting Randomized Compiler Testing into Production
Research Papers
Alastair DonaldsonImperial College London, Hugues EvrardGoogle, Paul ThomsonGoogle
Link to publication DOI Media Attached
15:40 - 16:00
Talk
Owicki-Gries Reasoning for C11 RAR
Research Papers
Sadegh DalvandiUniversity of Surrey, Simon DohertyUniversity of Sheffield, Brijesh DongolUniversity of Surrey, Heike WehrheimPaderborn University
Link to publication DOI Media Attached
16:00 - 16:20
Talk
Test-Case Reduction via Test-Case Generation: Insights From the Hypothesis Reducer
Research Papers
David R. MacIverImperial College London, Alastair DonaldsonImperial College London
Link to publication DOI Media Attached

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

03:00 - 04:20: S-5Research Papers at SPLASH-I
Chair(s): Davide AnconaDIBRIS, University of Genova, Italy, Jeremy GibbonsDepartment of Computer Science, University of Oxford
03:00 - 03:20
Talk
Model-View-Update-Communicate: Session Types meet the Elm Architecture
Research Papers
Simon FowlerUniversity of Glasgow
Link to publication DOI Pre-print Media Attached
03:20 - 03:40
Talk
Putting Randomized Compiler Testing into Production
Research Papers
Alastair DonaldsonImperial College London, Hugues EvrardGoogle, Paul ThomsonGoogle
Link to publication DOI Media Attached
03:40 - 04:00
Talk
Owicki-Gries Reasoning for C11 RAR
Research Papers
Sadegh DalvandiUniversity of Surrey, Simon DohertyUniversity of Sheffield, Brijesh DongolUniversity of Surrey, Heike WehrheimPaderborn University
Link to publication DOI Media Attached
04:00 - 04:20
Talk
Test-Case Reduction via Test-Case Generation: Insights From the Hypothesis Reducer
Research Papers
David R. MacIverImperial College London, Alastair DonaldsonImperial College London
Link to publication DOI Media Attached