ebook img

Mathematics of Program Construction: 11th International Conference, MPC 2012, Madrid, Spain, June 25-27, 2012. Proceedings PDF

371 Pages·2012·3.441 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Mathematics of Program Construction: 11th International Conference, MPC 2012, Madrid, Spain, June 25-27, 2012. Proceedings

Lecture Notes in Computer Science 7342 CommencedPublicationin1973 FoundingandFormerSeriesEditors: GerhardGoos,JurisHartmanis,andJanvanLeeuwen EditorialBoard DavidHutchison LancasterUniversity,UK TakeoKanade CarnegieMellonUniversity,Pittsburgh,PA,USA JosefKittler UniversityofSurrey,Guildford,UK JonM.Kleinberg CornellUniversity,Ithaca,NY,USA AlfredKobsa UniversityofCalifornia,Irvine,CA,USA FriedemannMattern ETHZurich,Switzerland JohnC.Mitchell StanfordUniversity,CA,USA MoniNaor WeizmannInstituteofScience,Rehovot,Israel OscarNierstrasz UniversityofBern,Switzerland C.PanduRangan IndianInstituteofTechnology,Madras,India BernhardSteffen TUDortmundUniversity,Germany MadhuSudan MicrosoftResearch,Cambridge,MA,USA DemetriTerzopoulos UniversityofCalifornia,LosAngeles,CA,USA DougTygar UniversityofCalifornia,Berkeley,CA,USA GerhardWeikum MaxPlanckInstituteforInformatics,Saarbruecken,Germany Jeremy Gibbons Pablo Nogueira (Eds.) Mathematics of Program Construction 11th International Conference, MPC 2012 Madrid, Spain, June 25-27, 2012 Proceedings 1 3 VolumeEditors JeremyGibbons OxfordUniversity DepartmentofComputerScience WolfsonBuilding,ParksRoad,OxfordOX13QD,UK E-mail:[email protected] PabloNogueira UniversidadPolitécnicadeMadrid FacultaddeInformática,CampusdeMontegancedos/n 28660BoadilladelMonte,Madrid,Spain E-mail:[email protected] ISSN0302-9743 e-ISSN1611-3349 ISBN978-3-642-31112-3 e-ISBN978-3-642-31113-0 DOI10.1007/978-3-642-31113-0 SpringerHeidelbergDordrechtLondonNewYork LibraryofCongressControlNumber:2012939357 CRSubjectClassification(1998):F.3,D.2.4,D.1.1,F.4.1,D.3,F.4,G.2,D.1 LNCSSublibrary:SL1–TheoreticalComputerScienceandGeneralIssues ©Springer-VerlagBerlinHeidelberg2012 Thisworkissubjecttocopyright.Allrightsarereserved,whetherthewholeorpartofthematerialis concerned,specificallytherightsoftranslation,reprinting,re-useofillustrations,recitation,broadcasting, reproductiononmicrofilmsorinanyotherway,andstorageindatabanks.Duplicationofthispublication orpartsthereofispermittedonlyundertheprovisionsoftheGermanCopyrightLawofSeptember9,1965, initscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer.Violationsareliable toprosecutionundertheGermanCopyrightLaw. Theuseofgeneraldescriptivenames,registerednames,trademarks,etc.inthispublicationdoesnotimply, evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevantprotectivelaws andregulationsandthereforefreeforgeneraluse. Typesetting:Camera-readybyauthor,dataconversionbyScientificPublishingServices,Chennai,India Printedonacid-freepaper SpringerispartofSpringerScience+BusinessMedia(www.springer.com) Preface This volume contains the proceedings of MPC2012, the 11th International ConferenceontheMathematicsofProgramConstruction.Thisconferenceseries aimstopromotethedevelopmentofmathematicalprinciplesandtechniquesthat aredemonstrablypracticalandeffectiveintheprocessofconstructingcomputer programs,broadlyinterpreted.Thefocusisontechniquesthatcombineprecision with conciseness, enabling programs to be constructed by formal calculation. TheconferencewasheldinMadrid,Spain,duringJune25–27,2012.Thepre- vious ten conferences were held in 1989 in Twente, The Netherlands (with pro- ceedingspublishedasLNCS375);in1992inOxford,UK(LNCS669);in1995in KlosterIrsee,Germany(LNCS947);in1998inMarstrand,Sweden(LNCS1422); in2000inPontedeLima,Portugal(LNCS1837);in2002inDagstuhl,Germany (LNCS2386); in 2004, in Stirling, UK (LNCS3125); in 2006 in Kuressaare, Estonia (LNCS4014); in 2008 in Marseille-Luminy, France (LNCS5133); and in 2010 in Lac-Beauport,Canada (LNCS6120). There were 27 submissions—rather fewer than in previous years. Each sub- missionwasreviewedbyatleastfourmembersoftheProgramCommittee,with an additional review by one of the Program Chairs. The Program Committee selected 13 papers to appear at the conference. Of these 13 papers, 6 had an additional round of ‘shepherding’ by a member of the Program Committee in order to improve the presentation and tailor it for the MPC audience. There werealsothreeinvitedtalksattheconference;thesearerepresentedherebyone paper and two abstracts. The MPC conference series takes great pride in the thoroughness of its re- viewing. We are very grateful to the members of the Program Committee and the external referees for their care and diligence in reviewing the submitted pa- pers.Thereviewprocessandcompilationoftheproceedingsweregreatlyhelped by Andrei Voronkov’s EasyChair system, which we can highly recommend. June 2012 Jeremy Gibbons Pablo Nogueira Organization Program Committee Ralph-Johan Back Abo Akademi University, Finland Roland Backhouse University of Nottingham, UK Eerke Boiten University of Kent, UK William R. Cook University of Texas at Austin, USA Jules Desharnais Universit´e Laval, Canada Jeremy Gibbons University of Oxford, UK Lindsay Groves VictoriaUniversityofWellington,NewZealand Ian J. Hayes University of Queensland, Australia Ralf Hinze University of Oxford, UK Graham Hutton University of Nottingham, UK Johan Jeuring Open Universiteit Nederland and Universiteit Utrecht, The Netherlands Christian Lengauer University of Passau,Germany Larissa Meinicke University of Queensland, Australia CarrollMorgan University of New South Wales, Australia Shin-Cheng Mu Academia Sinica, Taiwan Bernhard M¨oller Institut fu¨r Informatik, Universit¨at Augsburg, Germany David Naumann Stevens Institute of Technology, USA Pablo Nogueira Universidad Polit´ecnica de Madrid, Spain Jose Oliveira Universidade do Minho, Portugal Steve Reeves The University of Waikato, New Zealand Wouter Swierstra Universiteit Utrecht, The Netherlands Anya Tafliovich University of Toronto Scarborough,Canada Additional Reviewers Paulo S´ergio Almeida Roland Glueck Nicolas Pouillard Gilles Barthe Stefan Hallerstede Viorel Preoteasa James Chapman A´ngel Herranz Patrick Roocks Juan Manuel Crespo Wim Hesselink Cesar Sanchez Sharon Curtis Martin Hofmann Jeremy Siek Han-Hing Dang Peter H¨ofner Ana Sokolova Brijesh Dongol Daniel James Kim Solin Steve Dunne Mauro Jaskelioff Tarmo Uustalu Jonathan Edwards Bj¨orn Lisper Nicolas Wu Joao Ferreira Bruno Oliveira Andreas Zelend VIII Organization Local Organization Pablo Nogueira (Chair) Universidad Polit´ecnica de Madrid Ricardo Pen˜a Universidad Complutense de Madrid A´lvaro Garc´ıa P´erez IMDEA Software Institute and Universidad Polit´ecnica de Madrid Manuel Montenegro Universidad Complutense de Madrid Host Institutions – Universidad Complutense de Madrid. – Universidad Polit´ecnica de Madrid. Acknowledgements We are grateful to the Madrid Convention Bureau for their help and support in the organization of the conference. We are also grateful to the Spanish Ministerio de Econom´ıa y Competitividad for their financialsupport via Accio´n Complementaria TIN2011-16141-E. Table of Contents Invited Talks Probabilistic Relational Hoare Logics for Computer-Aided Security Proofs.......................................................... 1 Gilles Barthe, Benjamin Gr´egoire, and Santiago Zanella B´eguelin The Laws of Programming Unify Process Calculi..................... 7 Tony Hoare and Stephan van Staden The Geometry of Synthesis: How to Make Hardware Out of Software (Abstract) ...................................................... 23 Dan R. Ghica Security and Information Flow Scheduler-Independent Declassification.............................. 25 Alexander Lux, Heiko Mantel, and Matthias Perner Elementary Probability Theory in the Eindhoven Style ............... 48 Carroll Morgan Synchronous and Real-Time Systems Scheduling and Buffer Sizing of n-Synchronous Systems: Typing of Ultimately Periodic Clocks in Lucy-n ............................... 74 Louis Mandel and Florence Plateau DerivingReal-TimeActionSystemsControllersfromMultiscaleSystem Specifications.................................................... 102 Brijesh Dongol and Ian J. Hayes Algorithms and Games Calculating Graph Algorithms for Dominance and Shortest Path....... 132 Ilya Sergey, Jan Midtgaard, and Dave Clarke First-Past-the-PostGames ........................................ 157 Roland Backhouse X Table of Contents Program Calculi Reverse Exchange for Concurrency and Local Reasoning .............. 177 Han-Hing Dang and Bernhard M¨oller Unifying Correctness Statements................................... 198 Walter Guttmann Tool Support Dependently Typed Programming Based on Automated Theorem Proving......................................................... 220 Alasdair Armstrong, Simon Foster, and Georg Struth Algebras and Datatypes An Algebraic Calculus of Database Preferences ...................... 241 Bernhard M¨oller, Patrick Roocks, and Markus Endres Modular Tree Automata .......................................... 263 Patrick Bahr Categorical Functional Programming Constructing Applicative Functors ................................. 300 Ross Paterson Kan Extensions for Program Optimisation Or: Art and Dan Explain an Old Trick .................................................... 324 Ralf Hinze Author Index.................................................. 363 Probabilistic Relational Hoare Logics for Computer-Aided Security Proofs Gilles Barthe1, Benjamin Gr´egoire2, and Santiago Zanella B´eguelin3 1 IMDEA Software Institute 2 INRIASophiaAntipolis - M´editerran´ee 3 Microsoft Research Provable security. The goal of provable security is to verify rigorouslythe secu- rity of cryptographic systems. A provable security argument proceeds in three steps: 1. Define a security goal and an adversarial model; 2. Define the cryptographic system and the security assumptions upon which the security of the system hinges; 3. Show by reductionthat anyattack againstthe cryptographicsystemcanbe used to build an efficient algorithm that breaks a security assumption. The provable security paradigm originates from the work of Goldwasser and Micali [10] and plays a central role in modern cryptography.Since its inception, the focus of provable security has gradually shifted towards practice-oriented provablesecurity[4].Thecentralgoalofpractice-orientedprovablesecurityisto developandanalyzeefficientcryptographicsystemsthatcanbeusedforpractical purposes, and to provide concrete guarantees that quantify their strength as a function of the values of their parameters (e.g. the key size of a public-key encryption scheme). The code-based approach [5] realizes the practice-oriented provable security paradigm by means of programming-language techniques and of a systematic way of organizing proofs. In the code-based approach, security hypotheses and goals are cast in terms of the probability of events with respect to distributions induced by probabilistic programs. Typically, proofs that follow the code-based approachadoptsomeformofimperativepseudocodeasaconvenientandexpres- sivenotationtorepresentprograms(equivalently,games).ThepWhilelanguage is a procedural, probabilistic imperative programming language that provides a precise formalism for programs. Commands in pWhile are defined as follows: C ::=skip nop | V ←E assignment | V ←$ DE random sampling | if E then C else C conditional | while E do C while loop | V ←P(E,...,E) procedure call | C; C sequence J.GibbonsandP.Nogueira(Eds.):MPC2012,LNCS7342,pp.1–6,2012. (cid:2)c Springer-VerlagBerlinHeidelberg2012 2 G. Barthe, B. Gr´egoire, and S. Zanella B´eguelin where E is a set of expressions, DE is a set of distribution expressions, and P is a set of procedures. pWhile distinguishes between concrete procedures, whosecodeisdefined,andabstractprocedures,whosecoderemainsunspecified. Quantificationoveradversariesincryptographicproofsisachievedbyrepresent- ing them as abstract procedures parametrized by a set of oracles; these oracles must be instantiated as other procedures in the program. The meaning ofgames is defined by a denotational semantics: givenaninter- pretation of abstract procedures, the semantics (cid:2)c(cid:3) of a game c takes as input an initial memory, i.e. a mapping from variable to values, and returns a sub- distributiononmemories.Since wetypicallyconsiderdiscretedatatypes,the set M of memories is discrete a(cid:2)nd sub-distributions on memories are simply maps d : M → [0,1] such that d m ≤ 1. We let D(M) denote the set of m∈M sub-distributions over M, and we use the notation Pr[c,m:E] to denote the probability of the event E in the sub-distribution (cid:2)c(cid:3) m. Proofs in provable security are by reduction. For simplicity, assume that the systemunderconsiderationisprovedsecureunderasingleassumption.LetAbe anadversaryagainstthe security ofthe system. The goalofthe reductionproof istoshowthatthereexistsanadversaryBsuchthatthesuccessprobabilityofA intheattackgameisupperboundedbyafunctionofthesuccessprobabilityofB in breaking the security assumption. A recommended practice is that proofs be constructive, in the sense that the adversary B is given explicitly as a program that invokes A as a sub-procedure. In addition to defining the security goal and hypotheses as probabilistic pro- grams, the code-based approach recommends that proofs are structured as se- quences, or trees, of games, so that transitions between two successive games are easier to justify. A typical transition between two games c and c , requires 1 2 establishing an inequality of the form Pr[c ,m :A]≤Pr[c ,m :B]+(cid:2) (∗) 1 1 2 2 whereAandBareeventswhoseprobabilitiesaretakenoverthesub-distributions (cid:2)c (cid:3)m and(cid:2)c (cid:3)m respectively,and(cid:2)isanarithmeticexpressionthatmayde- 1 1 2 2 pendontheresourcesallocatedtotheadversaryor,whenthetransitioninvolves a failure event F, an expression of the form Pr[c ,m :F]. The proof concludes i i by combining the inequalities proven for each transition to bound the success probability of the reduction. Verified security. Verified security [2,1] is an emerging approach to security proofs of cryptographic systems. It adheres to the same principles as (practice- oriented)provable security, but revisits its realizationfroma formal verification perspective. When taking a verified security approach, proofs are mechanically built and verifiedwith the help of state-of-the-artverificationtools. The idea of verified security appears in inspiring articles from Halevi [11] and Bellare and Rogaway [5], and is realized by tools such that CertiCrypt [2] and EasyCrypt [1]. Both support the code-based approach, and capture many common reasoning patterns in cryptographic proofs. CertiCrypt and EasyCrypt have been used to

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.