collaborative infrastructure for test-driven scientific ...comar/sciunit-icse14.pdf · test-driven...

15
Collaborative Infrastructure for Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university Richard Gerkin arizona state university

Upload: others

Post on 12-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

Collaborative Infrastructure for Test-Driven Scientific Model Validation

Cyrus Omar + Jonathan Aldrich carnegie mellon university !Richard Gerkin arizona state university

Page 2: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

Model Prediction

2

Empirical Observations

Observable Quantity

Page 3: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

3

Science is Dynamic

Page 4: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

4

Science is Dynamic

Page 5: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

5

Science is Dynamic

Page 6: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

Empirical Observations

Models Goodness-of-Fit

Page 7: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

7

Page 8: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

8

The state of the art?

Other [models] were examined and found promising but were not considered due to our inability to test the techniques”

Page 9: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

9

Page 10: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

10

papers ~ component documentationimplementations

models ~ software componentsscientific community ~ software development team

conformance testsinterfaces

Page 11: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

11

models ~ software componentsmodel capabilities ~ interfaces

observable quantities ~ typesgoodness-of-fit tests ~ unit tests

empirical observations ~ test parameters

interface  SunspotNumberPredictor      predict  :  TimeSeries<SunspotNumber>  -­‐>  TimeSeries<SunspotNumber>

SunspotTest  :  TimeSeries<SunspotNumber>  -­‐>  Test<SunspotNumberPredictor,  Metric>  =  ...

TestSuite([SunspotTest(cycle_data)  for  cycle_data  in  all_cycle_data])  .judge([OhlsMethod,  FeynmansMethod,  ThompsonsMethod]).view()

OhlsMethod  FeynmansMethod  ThompsonsMethod          

summary tables ~ test result summaries

:  SunspotNumberPredictor  =  ...  :  SunspotNumberPredictor  =  ...  :  SunspotNumberPredictor  =  ...

Page 12: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

12

interface  SunspotNumberPredictor      predict  :  TimeSeries<SunspotNumber>  -­‐>  TimeSeries<SunspotNumber>

SunspotTest  :  TimeSeries<SunspotNumber>  -­‐>  Test<SunspotNumberPredictor,  Metric>  =  ...

TestSuite([SunspotTest(cycle_data)  for  cycle_data  in  all_cycle_data])  .judge([OhlsMethod,  FeynmansMethod,  ThompsonsMethod]).view()

OhlsMethod  FeynmansMethod  ThompsonsMethod          

:  SunspotNumberPredictor  =  ...  :  SunspotNumberPredictor  =  ...  :  SunspotNumberPredictor  =  ...

which programming language? a DSL?Paper: SciUnit, a Python library (widely adopted, good FFI support, simple syntax, IPython notebook)

collaborative workflow?Paper: SciDash, a wiki pointing to IPython notebooks hosted on Github

adoption?Paper: people who organize modeling competitions (e.g. a neural modeling competition we are helping re-start)

Ongoing work: automatic test and model generation from existing repositoriesContact Me: [email protected] or @neurocy

Page 13: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

Model Prediction

13

Empirical Observations

Observable Quantity

Page 14: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

14

Test

Data Type

Model Prediction

Page 15: Collaborative Infrastructure for Test-Driven Scientific ...comar/sciunit-icse14.pdf · Test-Driven Scientific Model Validation Cyrus Omar + Jonathan Aldrich carnegie mellon university

Unit Tests

Models Goodness-of-Fit