the science of deep specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · the science of...

29
The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich, Steve Zdancewic, Zhong Shao, Adam Chlipala Princeton Penn Yale MIT

Upload: others

Post on 05-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

TheScienceofDeepSpecification

AndrewW.Appel,BenjaminPierce,StephanieWeirich,SteveZdancewic,Zhong Shao,AdamChlipala

Princeton Penn Yale MIT

Page 2: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Zero-vulnerabilitycriticalsoftware– Compilers,interpreters– Operatingsystems– Filesystems,networkingstacks– Distributedmiddleware– Databases– Crypto,securityprotocols

Apipedream?

Ahigh-value“niche”

Maybeuntilrecently!

Page 3: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Heroicproofsofconcept• CompCert (Ccompiler)• L4.verified(OS)

Page 4: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Proliferationof“pointsolutions”• CertiKos (hypervisor)

• Verdi(distributedalgorithmstoolkit)• RockSalt (softwarefaultisolation)• CakeML (MLcompiler)

• VeLLVM (LLVMoptimizations)

• HMAC+SHA(crypto)• …

Individuallyimpressive!Butdisconnected

Page 5: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

TheRiseofIntegratedStacks• CompCert ecosystem• L4.verifiedecosystem• IronClad Apps• Bedrockwebserver• Everest(verifiedhttps)• … Whatmakesthischallenging?

(lotsofthings,but inparticular…)

SpecificationEngineering!

Page 6: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

WhatwelearnedfromCompCert

6

Clanguage

CompCertCompiler

PowerPCISA

ProgramLogic

VerifiableCSystem

Clanguage

IBM’sCPU

Transistors

PowerPCISA

OSclientinterface

CertiKOShypervisorkernel

Clanguage AppelShao

PeterSewellUniv.ofCambridge

XavierLeroyInria

Page 7: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Whatwediscovered ...

7

CompCertCompiler

PowerPCISA

Clanguage

IBM’sCPU

Transistors

PowerPCISA

ProgramLogic

VerifiableCSystem

Clanguage

OSclientinterface

CertiKOShypervisorkernel

Clanguage AppelShao

PeterSewellUniv.ofCambridge

XavierLeroyInria

Page 8: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Solution:exercisespec.frombothsides(2006-2015)

8

CompCertCompiler

IBM’sCPU

Transistors

ProgramLogic

VerifiableCSystem

Clanguage

OSclientinterface

CertiKOShypervisorkernel

Clanguage

XavierLeroyINRIA

AppelShao

PeterSewellUniv.ofCambridge

Clanguage

PowerPCISA

PowerPCISA

Page 9: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Integration!

TheFutureofFormalMethods…

^

Page 10: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

TheScienceofDeepSpecification

Page 11: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

AnewNSFExpedition…

11

AndrewAppel

ZhongShao

StephanieWeirich

BenjaminPierce

SteveZdancewic

AdamChlipala

Princeton Penn YaleMIT

$10m5years

Page 12: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

DeepSpecificationsareFORMAL,RICH,LIVE,and2-SIDED

12

RICH describecomplexbehaviorsindetail

FORMAL innotationwithaclearsemantics

LIVEmachine-checkedconnectiontoimplementations

2-SIDEDconnectedtobothimplementations&clients

Page 13: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

DeepSpec goals1. Coreresearch2. Education3. Communitybuilding

13

Page 14: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

14

CoreResearchTopics

Page 15: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Individualprojects,connectedatdeepspecs

15AdamChlipala

Verifiedprocessordesign

Page 16: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Individualprojects,connectedatdeepspecs

16

AndrewAppel

VerifiedtoolchainforverifyingconcurrentCprograms

Page 17: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Individualprojects,connectedatdeepspecs

17

SteveZdancewic

VerifiedLLVMcompiler

Page 18: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Individualprojects,connectedatdeepspecs

18

StephanieWeirich

Specificationoffunctionallanguage

Page 19: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Individualprojects,connectedatdeepspecs

19

ZhongShao

VerifiedhypervisorOSkernel

Page 20: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Individualprojects,connectedatdeepspecs

20

BenjaminPierce

Specification-basedrandom

testing

Page 21: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

SpecificationandtestingPromisingdevelopment:Theriseofspecification-basedautomatedtestingtechniques– Property-based random testing(QuickCheck)– Model-based testing– Oracle-based testing– …

Page 22: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

End-to-EndDemo(s)Leadingcandidates:– Votingsystems– Automotive software– Datacenterinfrastructure

22

Othersuggestions??

Page 23: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Educationandtraining

23

Textbooksandon-linematerialsSoftwareFoundationstextisusedatdozensofuniversities.Nowweknow:

Withgoodinstructionalmaterialsandinteractiveproofcheckers,specification&verificationcanbetaught…

...justlikeprogrammingandsoftwareengineeringcanbetaught!

Page 24: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

BookDevelopment• Goal:UseSoftwareFoundations toseedanewseriesof“verifiedtextbooks”

• Firststep:

• Later:– Averifiedcompiler textbook?

24

VerifiedFunctionalAlgorithms

AndrewAppel

(fall2016)

Page 25: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

CurriculumDevelopment

• Modularity⇒cleanpedagogical implementations• Precise(andcorrect!)descriptionofrelevantabstractions• Specifications⇒automatedtestharnesses/testcases/property-basedtesting(forgrading)

• Connects toformalmethodscoursethatteachesverificationtechniquesfortheseartifacts

25

NewCompiler&OSCoursesbasedon

CertiKOS

Page 26: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

EducationSpecialistsBruceLenthallExecutiveDirectorPennCTL(CenterforTeaching&Learning)

EmilyElliottAssociateDirector,PennCTL

AnandaGunawardenaLecturer,PrincetonCS

Responsibilities:• determineappropriatemetricsforlearningoutcomes

• designassessmentplan• developdatacollectionplans

• helpdesignmeasurementinstruments

• analyzedata• workwithIRBs

Responsibilities:• manageimplementationofdatacollectionplan

• sendout,collect,andcompileassessments

• etc.

Page 27: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Assessmenttools1. ABETcourseoutcomes– Compare“pre-DS”to“DS-ified”versions of

courseatthesameuniversity (e.g.,Princeton),whereDS-ified versionswillbetestdriveninlateryearsoftheproject

2. Studentsurveys3. Instructorsurveys4. TrackingchangesbetweensuccessiveofferingsofDS-ified courses

Page 28: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

CommunitybuildingGoalistoactasapointaroundwhichthingscrystallize…

• Workshops (everysummer)• Summerschools(beginningnextsummer)• Visitorprogram(acceptingapplications!)• IndustrialAdvisoryBoard• SupportforCoqdevelopment• Jobs forpostdocs,engineers,PhDstudents

28

Page 29: The Science of Deep Specificationbcpierce/papers/deepspec-hcss... · 2016-05-11 · The Science of Deep Specification Andrew W. Appel, Benjamin Pierce, Stephanie Weirich , Steve Zdancewic,

Joinus!• DeepSpec isnotaboutbuildingasinglesystemorstack– It’saboutfindingouthowtomakeconnectionsbetweensystems

• Whowouldyou liketoconnectto?

29