Towards Practical Graph-Based Verification for an Object-Oriented Concurrency Model

Autor: Claudio Corrodi, Benjamin Morandi, Christopher M. Poskitt, Alexander Heußner
Přispěvatelé: Rensink, Arend, Zambon, Eduardo
Jazyk: angličtina
Rok vydání: 2015
Předmět:
FOS: Computer and information sciences
Computer Science - Logic in Computer Science
VERIFICATION (SOFTWARE ENGINEERING)
PARALLELVERARBEITUNG + NEBENLÄUFIGKEIT (BETRIEBSSYSTEME)
OBJECT-ORIENTED PROGRAMMING (PROGRAMMING METHODS)
VERIFIKATION (SOFTWARE ENGINEERING)
OBJEKTORIENTIERTE PROGRAMMIERUNG (PROGRAMMIERMETHODEN)
PARALLEL PROCESSING + CONCURRENCY (OPERATING SYSTEMS)
Semantics (computer science)
Computer science
Concurrency
SCOOP
02 engineering and technology
computer.software_genre
lcsh:QA75.5-76.95
Data processing
computer science

Computer Science - Software Engineering
Development (topology)
Software
0202 electrical engineering
electronic engineering
information engineering

Groove (engineering)
computer.programming_language
Object-oriented programming
Computer Science - Programming Languages
Programming language
business.industry
lcsh:Mathematics
020207 software engineering
16. Peace & justice
lcsh:QA1-939
Logic in Computer Science (cs.LO)
Software Engineering (cs.SE)
Transformation (function)
Computer Science - Distributed
Parallel
and Cluster Computing

020201 artificial intelligence & image processing
Distributed
Parallel
and Cluster Computing (cs.DC)

lcsh:Electronic computers. Computer science
ddc:004
business
computer
Programming Languages (cs.PL)
Zdroj: Electronic Proceedings in Theoretical Computer Science, Vol 181, Iss Proc. GaM 2015, Pp 32-47 (2015)
Electronic Proceedings in Theoretical Computer Science, 181
Popis: To harness the power of multi-core and distributed platforms, and to make the development of concurrent software more accessible to software engineers, different object-oriented concurrency models such as SCOOP have been proposed. Despite the practical importance of analysing SCOOP programs, there are currently no general verification approaches that operate directly on program code without additional annotations. One reason for this is the multitude of partially conflicting semantic formalisations for SCOOP (either in theory or by-implementation). Here, we propose a simple graph transformation system (GTS) based run-time semantics for SCOOP that grasps the most common features of all known semantics of the language. This run-time model is implemented in the state-of-the-art GTS tool GROOVE, which allows us to simulate, analyse, and verify a subset of SCOOP programs with respect to deadlocks and other behavioural properties. Besides proposing the first approach to verify SCOOP programs by automatic translation to GTS, we also highlight our experiences of applying GTS (and especially GROOVE) for specifying semantics in the form of a run-time model, which should be transferable to GTS models for other concurrent languages and libraries.
In Proceedings GaM 2015, arXiv:1504.02448
Databáze: OpenAIRE