474,219 research outputs found
LARVA - safer monitoring of real-time Java programs (tool paper)
The use of runtime verification, as a lightweight approach to guarantee properties of systems, has been increasingly employed on real-life software. In this paper, we present the tool LARVA, for the runtime verification of properties of Java programs, including real-time properties. Properties can be expressed in a number of notations, including timed-automata enriched with stopwatches, Lustre, and a subset of the duration calculus. The tool has been successfully used on a number of case-studies, including an industrial system handling financial transactions. LARVA also performs analysis of real-time properties, to calculate, if possible, an upper-bound on the memory and temporal overheads induced by monitoring. Moreover, through property analysis, LARVA assesses the impact of slowing down the system through monitoring, on the satisfaction of the properties.peer-reviewe
Improving runtime overheads for detectEr
We design monitor optimisations for detectEr, a runtime-verification tool synthesising systems of concurrent monitors from correctness properties for Erlang programs. We implement these optimisations as part of the existing tool and show that they yield considerably lower runtime overheads when compared to the unoptimised monitor synthesis.peer-reviewe
Engineering telecommunication services with SDL
If formal techniques are to be more widely accepted then they should evolve as current software engineering approaches evolve. Current techniques in the development of distributed systems use interface definition languages (IDLs) as a basis for the underlying communication and also as an abstraction tool. Object-oriented technologies [6] and the idea of engineering software through frameworks [5] are also widely accepted approaches in developing software. In this paper we show how the formal specification language SDL and associated tool support have been applied in the TOSCA1 project to engineer telecommunication services using these current techniques
Culture dimensions in software development industry: The effects of mentoring
Software development is a human centric and sociotechnical activity and like all human activities is influenced by cultural factors. However, software engineering is being further affected because of the globalization in software development. As a result, cultural diversity is influencing software development and its outcomes. The software engineering industry, a very intensive industry regarding human capital, is facing a new era in which software development personnel must adapt to multicultural work environments. Today, many organizations present a multicultural workforce which needs to be managed. This paper analyzes the influence of culture on mentoring relationships within the software engineering industry. Two interesting findings can be concluded from our study: (1) cultural differences affect both formal and informal mentoring, and (2) technical competences are not improved when implementing mentoring relationships
Recommended from our members
Miki: a wiki for synchronous modeling of software requirements
Eliciting a high quality requirements model that can be traced down to implementations is a challenge. Keeping models updated for evolving software systems is a further challenge. Formal modelling methods are one approach - but one that is too rigid and costly for many small software engineering companies [1]. We propose a light-weight alternative, using a wiki as the synchronous bridge between requirements capture and more formal modeling features of the IDE such as Eclipse
From Temporal Models to Property-Based Testing
This paper presents a framework to apply property-based testing (PBT) on top
of temporal formal models. The aim of this work is to help software engineers
to understand temporal models that are presented formally and to make use of
the advantages of formal methods: the core time-based constructs of a formal
method are schematically translated to the BeSpaceD extension of the Scala
programming language. This allows us to have an executable Scala code that
corresponds to the formal model, as well as to perform PBT of the models
functionality. To model temporal properties of the systems, in the current work
we focus on two formal languages, TLA+ and FocusST.Comment: Preprint. Accepted to the 12th International Conference on Evaluation
of Novel Approaches to Software Engineering (ENASE 2017). Final version
published by SCITEPRESS, http://www.scitepress.or
- …