
arXiv: 1504.02611
handle: 20.500.11850/99999
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
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), PARALLEL PROCESSING + CONCURRENCY (OPERATING SYSTEMS), OBJEKTORIENTIERTE PROGRAMMIERUNG (PROGRAMMIERMETHODEN), OBJECT-ORIENTED PROGRAMMING (PROGRAMMING METHODS), Computer Science - Software Engineering, Data processing, computer science, VERIFICATION (SOFTWARE ENGINEERING), QA1-939, VERIFIKATION (SOFTWARE ENGINEERING), PARALLELVERARBEITUNG + NEBENLÄUFIGKEIT (BETRIEBSSYSTEME), Computer Science - Programming Languages, Software Engineering, QA75.5-76.95, Logic in Computer Science (cs.LO), Software Engineering (cs.SE), Computer Science - Distributed, Parallel, and Cluster Computing, Electronic computers. Computer science, Distributed, Parallel, and Cluster Computing (cs.DC), Mathematics, info:eu-repo/classification/ddc/004, Programming Languages (cs.PL)
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), PARALLEL PROCESSING + CONCURRENCY (OPERATING SYSTEMS), OBJEKTORIENTIERTE PROGRAMMIERUNG (PROGRAMMIERMETHODEN), OBJECT-ORIENTED PROGRAMMING (PROGRAMMING METHODS), Computer Science - Software Engineering, Data processing, computer science, VERIFICATION (SOFTWARE ENGINEERING), QA1-939, VERIFIKATION (SOFTWARE ENGINEERING), PARALLELVERARBEITUNG + NEBENLÄUFIGKEIT (BETRIEBSSYSTEME), Computer Science - Programming Languages, Software Engineering, QA75.5-76.95, Logic in Computer Science (cs.LO), Software Engineering (cs.SE), Computer Science - Distributed, Parallel, and Cluster Computing, Electronic computers. Computer science, Distributed, Parallel, and Cluster Computing (cs.DC), Mathematics, info:eu-repo/classification/ddc/004, Programming Languages (cs.PL)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 5 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
