Ioannis Parissis

Ioannis Parissis
Ecole Nationale Supérieure en Systèmes Avancés et Réseaux (INP de Grenoble - ESISAR) | ESISAR INP Grenoble

PhD Computer Science

About

84
Publications
8,294
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
589
Citations
Introduction

Publications

Publications (84)
Chapter
Context-aware mobile apps provide adaptive services that depend on the changing environments. The challenge in testing context-aware mobile apps holds in that these apps adapt their behavior when context conditions are changing. According to an exhaustive survey of the testing context-aware mobile apps research area, current testing approaches take...
Chapter
Nowadays, mobile smartphones are being widely used. They allow users to access a variety of services provided by mobile applications (mobile apps). These services are location-based services, meaning that a user’s location is taken into consideration for service provision. Testing these mobile apps is challenging due to the complexity of context va...
Chapter
Crowdsourcing-based testing is a recent approach where testing is operated by volunteer users through the cloud. This approach is particularly suited for mobile applications since various users operating in various contexts can be involved. In the field of software engineering, crowd-testing has acquired a reputation for supporting the testing task...
Article
This article addresses the challenges of memory safety in life-critical medical devices. Since the last decade, healthcare manufacturers have embraced the Internet of Things, pushing technological innovations to increase market share. Medical devices, including the most critical ones, tend to be increasingly connected to the Internet. Unfortunately...
Chapter
GALS (Globally Asynchronous Locally Synchronous) systems, such as the Internet of Things or autonomous cars, integrate reactive synchronous components that interact asynchronously. The complexity induced by combining synchronous and asynchronous aspects makes GALS systems difficult to develop and debug. Ensuring their functional correctness and rel...
Conference Paper
Lustre is synchronous language, widely used for the development of reactive systems, control systems and monitoring systems, such as nuclear reactors, civil aircraft, automobile vehicles... In particular, Lustre is suitable for developing real-time systems. In such applications, testing activities for fault detection play a very important role. Mut...
Article
Full-text available
Lustre is a synchronous data-flow declarative language widely used for safety-critical applications (avionics, energy, transport...). In such applications, the testing activity for detecting errors of the system plays a crucial role. During the development and maintenance processes, Lustre programs are often evolving, so regression testing should b...
Conference Paper
Testing interactive multimodal applications is particularly important and requires a lot of effort. Automating this activity can result to significant development cost reduction and quality improvement. In this paper, we propose an approach for automating the test generation of such multimodal applications. This approach is based on the definition...
Conference Paper
This paper addresses the problem of automating the production of test sequences for a particular class of Programmable Logic Controllers (em4) produced by InnoVista Sensors. The latter are synchronous systems and are programmed by means of an ad hoc integrated development environment (IDE). People using and programming such controllers are not nece...
Conference Paper
Software maintenance is an activity which includes enhancements, error corrections, optimization and deletion of existing features. These modifications may cause the system to work incorrectly. Therefore, regression testing becomes necessary. Regression testing is any type of software testing that seeks to uncover new software bugs, or regressions,...
Article
Full-text available
Fault tolerance is a key research area for many of applications such as those based on sensor network technologies. In a large scale wireless sensor network (WSN), it becomes important to find new methods for fault-tolerance that can meet new application requirements like Internet of things, urbane intelligence and observation systems. The challeng...
Conference Paper
Full-text available
SPTL is a language designed to test applications developed for synchronous controllers. It makes possible to provide a specification of the software external environment. This specification can then be processed to generate test input sequences guided by directives such as profiles of use and scenarios. We introduce a definition and an overview of...
Conference Paper
Full-text available
Les automatismes industriels et domestiques sont frequemment mis ´ en oeuvre au moyen de controleurs logiques programmables (CLP), qui ˆ executent en mode synchrone des applications embarqu ´ ees interagis- ´ sant avec leur environnement. En combinant plusieurs CLP qui operent ` independamment et communiquent ´ a travers un r ` eseau, il est possib...
Article
Full-text available
Designing interactive applications is a complex and error-prone activity, because of the importance of the human-computer interaction aspect. For the same reason, thoroughly testing such applications is particularly important and requires a lot of effort. Automating this activity can result to significant development cost reduction and quality impr...
Article
SPTL is a testing language for synchronous software. The goal is to generate test input sequences in conformance with a specification of the software external behavior and of guiding directives such as profiles and scenarios. In this document we present an overview of the language with a simple example of a reactive system testing.
Conference Paper
Full-text available
Radio frequency identification (RFID) technology is becoming a pervasive technology that is used in our daily lives and in a variety of domains, especially in critical domains such as medical field and transportation systems. Several standards are specified to support the use of this technology. LLRP protocol (Low Level Reader Protocol) is one of t...
Conference Paper
Full-text available
Safety critical applications, such as explosion prediction, require continuous and reliable operation of Wireless sensor networks (WSNs). However, validating that a WSN system will function correctly at run time is a hard problem. This is due to the numerous faults one may encounter in the resource-constrained nature of sensor platforms together wi...
Conference Paper
This paper proposes a functional testing approach for safety properties formalized as hybrid automata. We first propose a formalism inspired from the concept of operational profile to specify test requirements for hybrid automata. We propose an associated parametric adequacy criterion that measures to what extent a given test suite satisfies these...
Article
Full-text available
In recent years, due to the proliferation of radio fre-quency identification (RFID) technology in everyday life, espe-cially in critical domains such as health care and transportation systems, significant efforts have been made to enhance the de-pendability of this technology. From these efforts have emerged specific techniques and several middlewa...
Conference Paper
Full-text available
The critical applications of wireless sensor networks, the increased data faults and their impact on decision making reveal the importance of adopting online techniques for data fault detection and diagnosis. Keeping in mind the hardware limitations of sensors, this work focuses on complementary signal processing techniques (temporal, spatial corre...
Conference Paper
Full-text available
In Wireless Sensor Networks (WSNs), performance and reliability depend on the fault tolerance scheme used in the system. Fault diagnosis is an important part of fault tolerance. An effective diagnosis tool helps network administrators clearly monitor, manage, and troubleshoot the performance of the network. However, the design of online fault diagn...
Conference Paper
Full-text available
In Wireless Sensor Networks (WSNs), performance and reliability depend on the fault tolerance scheme used in the system. Fault diagnosis is an important part of fault tolerance. An effective diagnosis tool helps network administrators clearly monitor, manage, and troubleshoot the performance of the network. However, the design of online fault diagn...
Conference Paper
Full-text available
The need to fault-tolerance in RFID systems is increasing with the increased use of this technology in critical domains such as real-time processing fields. Although many efforts have been made to make this technology more dependable, it is still unreliable. In this paper, we propose a complementary approach to existing ones. It consists of a proba...
Conference Paper
Sensor faults are the rule and not the exception in every WSN deployment. Sensors themselves may get stuck at a particular value or get partially disconnected and report noisy measurements. Sensor nodes may reboot unexpectedly or stop transmitting data. Software running on the sensor nodes may have bugs and may cause data loss. In this paper, we pr...
Article
Full-text available
Safety critical applications, such as fire detection or burglar alarm systems, require continuous and reliable operation of Wireless sensor networks (WSNs). However, validating that a WSN system will function correctly at run time is a hard problem. This is due to the numerous faults one may encounter in the resource-constrained nature of sensor pl...
Article
Full-text available
In recent years, radio frequency identification (RFID) systems have been increasingly used in critical domains such as medical field or real-time processing domains. Although important efforts have been made to make this technology more reliable and fault-tolerant, more research is needed to meet the increasing dependability requirements. In this a...
Article
Few years ago, RFID systems were only deployed in single site scenarios, usually with few readers. Nowadays, this kind of architecture is not suitable for the new business needs, such as data sharing with partners' companies. To meet these new requirements, a novel type of software, called RFID middleware has been designed for managing RFID devices...
Article
Scade (Safety Critical Application Development Environment)* is a tool-suite dedicated to the development of critical embedded systems in many domains in industry (avionics, nuclear energy, train transportation). It is mainly used in the design of major applications in the aerospace field. It provides facilities for the hierarchical definition of t...
Conference Paper
Lustre is a formal synchronous declarative language widely used for modeling and specifying safety-critical applications in the fields of avionics, transportation, and energy production. In such applications, the testing activity to ensure correctness of the system plays a crucial role in the development process. To enable adequacy measurement of t...
Article
Multimodal systems support communication with the user through different modalities such as voice and gesture. In such systems, modalities may be used sequentially or concurrently, and independently or combined synergistically. Their use is characterized by four properties, called CARE (Complementarity, Assignment, Redundancy and Equivalence). This...
Conference Paper
RFID systems are complex hybrid systems, consisting of analog and digital hardware and software components. RFID technologies are often used into critical domains or into harsh environments. But RFID system is only based on low cost equipments which then do not allow achieving robust communications. All these points make the on-line testing of RFID...
Conference Paper
Full-text available
In this case study we test a landing gear control system of a military aircraft with the new version of LUTESS, a tool for testing automatically synchronous software. LUTESS requires the tester to specify the environment of the software under test by means of invariant properties in order to guide the test data generation. This specification can be...
Article
Task trees are common notations used to describe the interaction between a user and an interactive application. They contain valuable information about the expected user behaviour as well on the expected software reactions and, thus, they can be used to support model-based testing. In this paper, a method for automatically generating test data from...
Article
LUSTRE is a data-flow synchronous language, on which is based the SCADE tool-suite, widely used for specifying and programming critical reactive applications in the areas of avionics, energy or transport. Therefore, testing LUSTRE programs, that is, generating test data and assessing the achieved test coverage, is a major issue. Usual control-flow-...
Article
Full-text available
LUTESS is a testing tool for synchronous software making possible to automatically build test data generators. The latter rely on a formal model of the program environment composed of a set of invariant properties, supposed to hold for every software execution. Additional assumptions can be used to guide the test data generation. The environment de...
Article
Full-text available
Résumé Les applications interactives sont aujourd'hui présentes dans plu-sieurs domaines et leur utilisation au sein de systèmes critiques est de plus en plus fréquente. Leur puissance ne cesse d'augmenter ainsi que leur complexité ce qui accroît le risque que des fautes soient intro-duites pendant les diérentes étapes de leur développement. Leur c...
Conference Paper
Full-text available
Lustre is a formal synchronous declarative language widely used for modeling and specifying safety-critical applications in the fields of avionics, transportation or energy production. Testing this kind of applications is an important and demanding task during the development process. It mainly consists in generating test data and measuring the ach...
Conference Paper
Task trees are common notations used to describe the interaction between a user and an interactive application. Thus, they contain valuable information about the expected user behaviour. In this paper, we present a method for automatically generating test data from a task tree. The task tree is extended to support operational profile specification....
Article
Full-text available
Ce document retrace de manière synthétique mes travaux de recherche depuis septembre 1999, date à laquelle j'ai été recruté sur un poste de Maître de Conférences à l'université Joseph Fourier (Grenoble 1). Ces travaux, menés au sein de l'équipe VASCO du laboratoire LIG, portent sur le test des logiciels et sont étroitement liés aux recherches effec...
Conference Paper
Lutess is a testing environment designed for synchronous software specified with Lustre, a synchronous data-flow language widely used in safety critical domains such as avionics, energy and transport. Lutess automatically transforms the formal description of the program environment and properties to test generators that feed, on the fly, the progra...
Conference Paper
Lustre is a synchronous data-flow declarative language widely used for safety-critical applications (avionics, energy, transport). Scade is a commercial tool-suite based on this language. We have proposed recently test coverage criteria for Lustre/Scade programs. The coverage assessment is fully automated and has been integrated in a prototype tool...
Conference Paper
Full-text available
This paper presents a method for automatically testing interactive multimodal systems. The method is based on the Lutess testing environment, originally dedicated to synchronous software specified using the Lustre language. The behaviour of synchronous systems, consisting of cycles starting by reading an external input and ending by issuing an outp...
Conference Paper
Full-text available
Composition of Web Services (WSs) is anticipated as the future standard way to dynamically build distributed applications, and hence their verification and validation is attracting great attention. The standardization of BPEL as a composition language and of WSDL as a WS interface definition language has led researchers to investigate verification...
Conference Paper
Full-text available
Lutess is a testing environment designed for synchronous software specified with Lustre, a synchronous data-flow language. It makes possible to automatically generate test input sequences in conformance with a specification of the software external behavior and of guiding directives such as operational profiles and behavioral patterns. Lutess deals...
Article
Full-text available
This paper presents a study aiming at improving the cost and the thoroughness of testing process of avionic applications developed at Airbus. The proposed approach aims at generating automatically functional tests from formal detailed specification and a functional test objective. This automatic test data generation is guided by the specification s...
Conference Paper
Full-text available
In this paper we present a method for automatically testing interactive multimodal systems. The proposed approach was originally dedicated to synchronous programming which is mainly used for real-time systems. Nevertheless, the behaviour of real-time systems, consisting of cycles starting by reading an external input and ending by issuing an output...
Article
Full-text available
We present structural test coverage criteria for LUSTRE programs. LUSTRE is a synchronous data-flow declarative language widely used for safety-critical applications (avionics, energy, transport). Many coverage criteria are defined for sequential languages and are widely used in the software industry (for instance, statement or branch coverage). Th...
Conference Paper
Full-text available
We present Lustructu, a tool measuring the structural coverage of LUSTRE programs. LUSTRE is a synchronous data-flow declarative language widely used for safety-critical applications (avionics, energy, transport...). Many coverage criteria are defined for sequential languages and are widely used in the software industry (for instance, statement or...
Conference Paper
Full-text available
Because it is usually involved in critical application development, synchronous software requires thorough testing. During the last ten years, several testing techniques have been integrated in Lutess, a testing tool for Lustre-based applications. This paper presents the models on which these techniques are defined: functional models and structural...
Conference Paper
Full-text available
While developing a software, many different tests are processed. ln this thesis, we are focusing mainly on unitary test and integration test. During the unitary test phase, the software's entities are tested individually. Afterwards, they are integrated within an aggregate on which the integration test is lrocessed. During this phase, interactions...
Conference Paper
Adequacy criteria for structural testing techniques are defined in terms of coverage (e.g. of statements or branches). For black-box testing, such criteria, making testers able to decide when to stop testing, are more difficult to define. In this paper, we propose such a definition for the particular case of specification-based testing techniques f...
Conference Paper
The paper presents new techniques for specification based-testing of synchronous software with the Lutess tool. Lutess provides a framework consisting of automatically building generators which interact with the software under test and feed it with test input sequences. In the past few years, it has been established that operational profiles as wel...
Article
Full-text available
We present Lutess, a tool for testing synchronous reactive software. Lutess provides a formal framework based on the use of the Lustre language. It embodies several testing techniques: random testing with or without operational profiles, specification-based testing and behavioral pattern oriented testing. Section 2 introduces the issue of testing r...
Article
Full-text available
Three approaches to the problem of testing synchronous data-flow programs written in LUSTRE are presented. LUSTRE is a language well-adapted to both the specification and the development of reactive software. The first approach automatically transforms a set of LUSTRE invariant properties characterizing the environment of the reactive program into...
Article
Full-text available
LUSTRE is a synchronous declarative language designed to specify and to implement reactive software. One of its main advantages is that it can be used as a temporal logic to express software invariant properties. The satisfaction of the latter can be proven by model-checking, using LESAR, a verification tool designed for LUSTRE programs. In this pa...
Conference Paper
Full-text available
LUSTRE is a synchronous declarative language designed to specify and to implement reactive software. One of its main advantages is that it can be used as a temporal logic to express software invariant properties. The satisfaction of the latter can be proven by model-checking, using LESAR, a verification tool designed for LUSTRE programs. We address...
Conference Paper
Synchronous programming makes the implementation of reactive software easier and safer. Automatic formal verification methods based on model-checking have been developed within the synchronous approach to prove the satisfaction by the software of safety properties. But these methods often require huge memory or time amounts. As a solution to that p...
Article
Full-text available
The specification, implementation, verification and validation of reactive software by means of the Lustre synchronous language is performed in a formal framework. This work aims at enhancing the present development environment by adding new tools which allow us to validate formal specifications and to test the software. We have devised a technique...
Chapter
We present a testing tool for synchronous reactive software, an interesting subclass of critical real-time software. Its aim is to provide a new means for critical software validation since formal verification techniques are often impracticable. For the particular domain of synchronous reactive software, we have designed specific testing techniques...
Conference Paper
We describe a uniform approach to specify operational profiles for synchronous reactive software and to automatically generate random software inputs according to these profiles. The approach is general enough to allow realistic description of the operating environment: as the environment behavior is often characterized by properties expressing cau...
Conference Paper
Full-text available
Three approaches to the problem of testing synchronous critical software are presented, based on the data-flow language LUSTRE. The first approach automatically transforms a set of LUSTRE invariant properties characterizing the environment into a constrained random generator of test data sequences. The second approach consists in analyzing the requ...

Network

Cited By