Ioannis ParissisEcole Nationale Supérieure en Systèmes Avancés et Réseaux (INP de Grenoble - ESISAR) | ESISAR INP Grenoble
Ioannis Parissis
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
Skills and Expertise
Publications
Publications (84)
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...
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...
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...
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...
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...
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...
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...
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...
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...
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,...
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...
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...
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...
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...
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.
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
8 pages - Short papers session (http://ictss2011.lri.fr/)
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...
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...
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...
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...
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...
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...
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-...
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...
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...
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...
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....
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...