Filters








29,924 Hits in 4.7 sec

Verifying message-passing programs with dependent behavioural types

Alceste Scalas, Nobuko Yoshida, Elias Benussi
2019 Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI 2019  
Verifying Message-Passing Programs with Dependent Behavioural Types PLDI '19, June 22-26, 2019, Phoenix, AZ, USA Definition 2.1. The syntax of λ π ⩽ is in Fig. 2 . Elements of C are run-time syntax.  ...  To address this challenge, it would be desirable to specify and verify the intended behaviour of message-passing applications using types, and ensure that, if a program type-checks and compiles, then it  ...  Contribution We present a new method to develop message-passing programs with verified safety/liveness properties, via type-level model checking.  ... 
doi:10.1145/3314221.3322484 dblp:conf/pldi/ScalasYB19 fatcat:o64i4g4flfbx7kkvbrz3ppyyp4

Effpi

Alceste Scalas, Nobuko Yoshida, Elias Benussi
2019 Proceedings of the Tenth ACM SIGPLAN Symposium on Scala - Scala '19  
We present Effpi: an experimental toolkit for strongly-typed concurrent and distributed programming in Dotty, with verification capabilities based on type-level model checking.  ...  The combination of (1) and (2) allows the Dotty compiler to check whether an Effpi program implements a desired protocol/type; and this, together with (3), means that many typical concurrent programming  ...  Conclusion, Vision, and Future Work We gave an overview of Effpi, a toolkit for strongly-typed message-passing programs in Dotty.  ... 
doi:10.1145/3337932.3338812 dblp:conf/scala/ScalasYB19 fatcat:cu75zdq7ufdcxksnxgawcoprke

Specification composition for the verification of message passing program composition [chapter]

J. Y. Cotronis, Z. Tsiatsoulis
1997 Reliability, Quality and Safety of Software-Intensive Systems  
We present a specification composition technique which supports the message passing composition of applications by the Ensemble methodology.  ...  In Ensemble applications are built by composing reusable executable program components designed with scalable communication interfaces.  ...  The behaviour of a composed message passing application cannot, in general, be analytically determined from the known behaviour of its components.  ... 
doi:10.1007/978-0-387-35097-4_8 fatcat:zvvojgaygvfnhmfqe3o2v5rspu

Specification composition for the verification of message passing program composition

J.Y. Cotronis, Z. Tsiatsoulis
1998 Microprocessors and microsystems  
We present a specification composition technique which supports the message passing composition of applications by the Ensemble methodology.  ...  PCGs are a natural structure for specifying processes and their communication dependencies and are close to program design.  ...  The behaviour of a composed message passing application cannot, in general, be analytically determined from the known behaviour of its components.  ... 
doi:10.1016/s0141-9331(98)00061-1 fatcat:5cc63j76bfdpfc7n37qkxro3sq

Incremental Composition Process for the Construction of Component-Based Management Systems

Tauseef Rana, Yawar Abbas Bangash, Abdullah Baz, Toqir Ahmad Rana, Muhammad Ali Imran
2020 Sensors  
Incremental composition is defined to offer preservation of system behaviour and correctness of partial architecture at each incremental step.  ...  However, for critical systems, a development method must provide ways to verify the partial system at different stages of the construction process.  ...  In our view, connectors in a system architecture can be one of three types, as shown in Figure 2 : (i) direct message passing; (ii) indirect message passing; and (iii) coordination.  ... 
doi:10.3390/s20051351 pmid:32121470 pmcid:PMC7085569 fatcat:qydbzgpo6ffytox7jb3pmfnvae

Verification and Compliance Testing [chapter]

Frank Guerin, Jeremy Pitt
2003 Lecture Notes in Computer Science  
In particular we consider what type of verification or testing may be possible depending on the information which may be available (agent internals, observable behaviour, normative specifications) and  ...  We use this framework to identify the types of languages which will permit verification and testing in open systems where agents' internals are kept private.  ...  Current and future work involves applying a model checking algorithm to each type of verification; this will use protocol diagrams as state transition diagrams for observable systems, much of this is described  ... 
doi:10.1007/978-3-540-44972-0_4 fatcat:snavcspoovhahjaq7bv2pcttsa

Bounded verification of message-passing concurrency in Go using Promela and Spin

Nicolas Dilley, Julien Lange
2020 Electronic Proceedings in Theoretical Computer Science  
These models, or behavioural types, are encoded in Promela, hence can be efficiently verified with Spin.  ...  Our framework extracts models that over-approximate the message-passing behaviour of a program.  ...  and Spin instead of mCRL2 to encode and verify behavioural types.  ... 
doi:10.4204/eptcs.314.4 fatcat:bcb34ufuy5gv7dk3tuxm62fxg4

Actris: session-type based reasoning in separation logic

Jonas Kastberg Hinrichsen, Jesper Bengtson, Robbert Krebbers
2019 Proceedings of the ACM on Programming Languages (PACMPL)  
Message passing is a useful abstraction to implement concurrent programs.  ...  Modelling the behaviour of this program in an STS typically requires three states: Init Sent Received The three states model that no message has been sent (Init), that a message has been sent but not received  ...  While they do not verify message-passing programs like we do, they do verify that the implementation of their message-passing system is resilient to faulty behaviour in the presence of malicious senders  ... 
doi:10.1145/3371074 fatcat:f6kfi2bemrc6xndvv3w5hfzdja

Multiparty Session Actors [chapter]

Rumyana Neykova, Nobuko Yoshida
2014 Lecture Notes in Computer Science  
Actors communicate between each other only by exchanging messages. Upon receiving a message, the behaviour of the actor is executed, upon which the actor  ...  Declarative protocol specifications in Scribble can readily avoid typical errors in communications programming, including type errors, disrespect of call orders, circular service dependencies and deadlocks  ...  Related Work Behavioural and Session Types for Actors and Objects. There are several theoretical works that have studied the behavioural types for verifying actors [17, 9] .  ... 
doi:10.1007/978-3-662-43376-8_9 fatcat:j76kejg64fdyratq3edqfvxqpm

A static verification framework for message passing in Go using behavioural types

Julien Lange, Nicholas Ng, Bernardo Toninho, Nobuko Yoshida
2018 Proceedings of the 40th International Conference on Software Engineering - ICSE '18  
Despite its popularity, the Go programming ecosystem offers little to no support for guaranteeing the correctness of message-passing concurrent programs.  ...  the form of a behavioural type, a powerful process calculi typing discipline.  ...  Our approach analyses general Go source code and distills from programs behavioural types that serve as a faithful model of its message-passing concurrent behaviour.  ... 
doi:10.1145/3180155.3180157 dblp:conf/icse/LangeNTY18 fatcat:gseo6wzhjjeuzizixg5gr3olpu

Towards deductive verification of MPI programs against session types

Eduardo R. B. Marques, Francisco Martins, Vasco T. Vasconcelos, Nicholas Ng, Nuno Martins
2013 Electronic Proceedings in Theoretical Computer Science  
These applications, written in C or Fortran, exhibit intricate message passing behaviours, making it hard to statically verify important properties such as the absence of deadlocks.  ...  We annotate MPI primitives and C code with session type contracts, written in the language of a software verifier for C. Annotated code is then checked for correctness with the software verifier.  ...  Developers can then implement programs for the various individual participants, based on the local protocols and using standard message-passing libraries.  ... 
doi:10.4204/eptcs.137.9 fatcat:gb7hw7hx7fcetcefaosgji6flm

Future-based Static Analysis of Message Passing Programs

Wytse Oortwijn, Stefan Blom, Marieke Huisman
2016 Electronic Proceedings in Theoretical Computer Science  
Message passing is widely used in industry to develop programs consisting of several distributed communicating components.  ...  We focus on the modular verification of MPI programs by statically verifying concrete Java code.  ...  The Message Passing Interface (MPI) is a popular API for implementing message passing programs.  ... 
doi:10.4204/eptcs.211.7 fatcat:5ugvh2eumjaiznduqgchka3bcy

Automated Verification of Go Programs via Bounded Model Checking

Nicolas Dilley, Julien Lange
2021 Zenodo  
The artifact of the ASE 2021 paper entitled "Automated Verification of Go Programs via Bounded Model Checking".  ...  Our work builds on a combination of four key insights. (1) To deal with programs whose concurrent structure depends on arguments that are decided at run-time, we extract parameterised behavioural types  ...  CONCLUSIONS We described a novel approach to verifying Go programs using bounded model checking of parameterised behavioural types.  ... 
doi:10.5281/zenodo.5101556 fatcat:dms2wlvhfjefppyr2rvabl3tzm

The Scribble Protocol Language [chapter]

Nobuko Yoshida, Raymond Hu, Rumyana Neykova, Nicholas Ng
2014 Lecture Notes in Computer Science  
Line 11 specifies a basic message passing action. query(journey:String) is a message signature for a message with header (label) journey, carrying one payload element within the parentheses.  ...  types for programming languages [34] .  ... 
doi:10.1007/978-3-319-05119-2_3 fatcat:6czxti2ptzeoxpmtw6dzp7xspe

The Scribble Protocol Language [chapter]

Nobuko Yoshida, Raymond Hu, Rumyana Neykova, Nicholas Ng
2014 Lecture Notes in Computer Science  
Line 11 specifies a basic message passing action. query(journey:String) is a message signature for a message with header (label) journey, carrying one payload element within the parentheses.  ...  types for programming languages [34] .  ... 
doi:10.1007/978-3-319-14128-2_3 fatcat:r2nsvqeegjaplizemlnees3eue
« Previous Showing results 1 — 15 out of 29,924 results