Spelling suggestions: "subject:"cafety properties"" "subject:"asafety properties""
1 |
Test et évaluation de la robustesse de la couche fonctionnelle d'un robot autonome / Test and Evaluation of the Robustness of the Functional Layer of an Autonomous RobotChu, Hoang-Nam 01 September 2011 (has links)
La mise en oeuvre de systèmes autonomes nécessite le développement et l'utilisation d'architectures logicielles multi-couches qui soient adaptées. Typiquement, une couche fonctionnelle renferme des modules en charge de commander les éléments matériels du système et de fournir des services élémentaires. Pour être robuste, la couche fonctionnelle doit être dotée de mécanismes de protection vis-à-vis de requêtes erronées ou inopportunes issues de la couche supérieure. Nous présentons une méthodologie pour tester la robustesse de ces mécanismes. Nous définissons un cadre général pour évaluer la robustesse d'une couche fonctionnelle par la caractérisation de son comportement vis-à-vis de requêtes inopportunes. Nous proposons également un environnement de validation basé sur l'injection de fautes dans le logiciel de commande d'un robot simulé. Un grand nombre de cas de tests est généré automatiquement par la mutation d'une séquence de requêtes valides. Les statistiques descriptives des comportements en présence de requêtes inopportunes sont analysées afin d'évaluer la robustesse du système sous test. / The implementation of autonomous systems requires the development and the using of multi-layer software architecture. Typically, a functional layer contains several modules that control the material of the system and provide elementary services. To be robust, the functional layer must be implemented with protection mechanisms with respect to erroneous or inopportune requests sent from the superior layer. We present a methodology for robustness testing these mechanisms. We define a general framework to evaluate the robustness of a functional layer by characterizing its behavior with respect to inappropriate requests. We also propose an validation environment based on fault injection in the control software of a simulated robot. A great number of test cases is generated automatically by the mutation of a sequence of valid requests. The descriptive statistics of the behaviors in the presence of inappropriate requests are analyzed in order to evaluate the robustness of the system under test.
|
2 |
Test fonctionnel de propriétés hybrides / Functional testing of hybrid propertiesGrasland, Yves 15 February 2013 (has links)
On nomme systèmes hybrides les systèmes qui intègrent des comportements continus et discrets. Leur comportement est en partie déterminé par des contraintes temporelles et/ou leur interaction avec un environnement physique via l'utilisation de capteurs et d'actionneurs. Il peut s'agir par exemple d'équipements de contrôle de procédés industriels ou de services domotiques. La validation de ces systèmes est un problème crucial, car ils sont parfois utilisés au sein d'applications où la sûreté de fonctionnement est critique (un système critique est un système dont la défaillance peut entraîner des blessures ou la mort d'êtres humains). Cette validation soulève plusieurs problèmes ; en particulier, une description détaillée du système à valider n'est pas toujours disponible, ou celle-ci est trop complexe pour qu'il soit possible en pratique d'établir avec certitude sa correction (par exemple parce que cette vérification exhaustive nécéssite des ressources en temps ou en matériel trop importantes). Dans ces conditions, nous nous intéressons à la validation de systèmes hybrides spécifiés par un ensemble de propriétés de sûreté. Une propriété de sûreté est une exigence portant sur le comportement du système qui ne contraint pas entièrement ce comportement, mais en spécifie des aspects particuliers. Elle peut ainsi porter sur la réaction attendue du système en réponse à une suite d'événements donnée, ou imposer des limites à l'évolution des grandeurs environnementales qu'il contrôle. Le travail présenté dans ce document consiste en une approche de test fonctionnel, destinée à permettre la validation de systèmes hybrides pour lesquels on dispose d'une spécification composée de propriétés de sûreté. La validation consiste à vérifier que le système satisfait à sa spécification, et donc aux besoins qui motivent sa création (sous réserve que la spécification traduise correctement les besoins). / Hybrid systems posess a continuous and discrete behavior. This behavior is partially determined by temporal constraints, and/or interactions of the system with a physical environment by means of sensors and actuators. Hybrid systems include some industrial plant control software and home automation systems. The validation of hybrid systems is a crucial problem since they may be used in safety critical applications (a safety critical system is a system whose failure may lead to unacceptable financial or human costs). This validation raises several problems; in particular a complete description of the system to be validated is not always available. Its complexity may also prevent establishing the correction of the system with certainty (if for exampl a full proof computation requires too much time or equipment). Therefore we are interested in validating hybrid systems specified by a set of safety properties. A safety property is a requirement that constrains only some aspect of the system behavior and can be fullfilled by several implementations. It may for example specify the expected reaction of the system under specific circumstances or constrain the set of values that a variable is allowed to take. The work presented in this document is a functional testing approach aimed at allowing the validation of hybrid systems for which a specification composed of hybrid safety properties is available. Validation consists in verifying that the system satisfies its specification and therefore the needs that motivated its design (assuming the specification actually matches these needs).
|
3 |
Verificação e comprovação de erros em códigos C usando bounded model checkerRocha, Herbert Oliveira 04 February 2011 (has links)
Made available in DSpace on 2015-04-11T14:03:20Z (GMT). No. of bitstreams: 1
HERBERT OLIVEIRA.pdf: 512075 bytes, checksum: acc5d05442df938abdfa025f9db23367 (MD5)
Previous issue date: 2011-02-04 / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / The use of computer-based systems in several domains has increased significantly over
the last years, one of the main challenges in software development of these systems
is to ensure the correctness and reliability of these. So that software verification now
plays an important role in ensuring the overall product quality, aimed mainly the
characteristics of predictability and reliability. In the context of software verification,
with respect to the use of model checking technique, Bounded Model Checkers have
already been applied to discover subtle errors in actual systems projects, contributing
effectively in this verification process. The value of the counterexample and safety
properties generated by Bounded Model Checkers to create test case and to debug
these systems is widely recognized. When a Bounded Model Checking (BMC) finds
an error it produces a counterexample. Thus, the value of counterexamples to debug
software systems is widely recognized in the state-of-the-practice. However, BMCs
often produce counterexamples that are either large or difficult to be understood and
manipulated mainly because of both the software size and the values chosen by the
respective solver. In this work we aim to demonstrate and analyze the use of formal
methods (through using the model checking technique) in the process of developing
programs in C language, exploring the features already provided by the model checking
as the counterexample and the identification and verification of safety properties. In
view of this we present two approaches: (i) we describe a method to integrate the
bounded model checker ESBMC with the CUnit framework. This method aims to
extract the safety properties generated by ESBMC to generate automatically test cases
using the rich set of assertions provided by the CUnit framework and (ii) a method aims
to automate the collection and manipulation of counterexamples in order to instantiate
the analised C program for proving the root cause of the identified error. Such methods
may be seen as a complementary technique for the verification performed by BMCs.
We show the effectiveness of our proposed method over publicly available benchmarks
of C programs. / A utilização de sistemas baseados em computador em diversos domínios aumentou
significativamente nos últimos anos. Um dos principais desafios no desenvolvimento
de software de sistemas críticos é a garantia da sua correção e confiabilidade. Desta
forma, a verificação de software exerce um papel importante para assegurar a qualidade
geral do produto, visando principalmente características como previsibilidade e confiabilidade.
No contexto de verificação de software, os Bounded Model Checkers estão
sendo utilizados para descobrir erros sutis em projetos de sistemas de software atuais,
contribuindo eficazmente neste processo de verificação. O valor dos contra-exemplos e
propriedades de segurança gerados pelo Bounded Model Checkers para criar casos de
testes e para a depuração de sistemas é amplamente reconhecido. Quando um Bounded
Model Checking (BMC) encontra um erro ele produz um contra-exemplo. Assim,
o valor dos contra-exemplos para depuração de software é amplamente reconhecido no
estado da prática. Entretanto, os BMCs frequentemente produzem contra-exemplos
que são grandes ou difíceis de entender ou manipular, principalmente devido ao tamanho
do software e valores escolhidos pelo solucionador de satisfabilidade. Neste
trabalho visamos demonstrar e analisar o uso de método formal (através da técnica
model checking) no processo de desenvolvimento de programas na linguagem C, explorando
as características já providas pelo model checking como o contra-exemplo e a
identificação e verificação de propriedades de segurança. Em face disto apresentamos
duas abordagens: (i) descrevemos um método para integrar o Bounded Model Checker
ESBMC como o framework de teste unitário CUnit, este método visa extrair as
propriedades geradas pelo ESBMC para gerar automaticamente casos de teste usando
o rico conjunto de assertivas providas pelo framework CUnit e (ii) um método que
visa automatizar a coleta e manipulação dos contra-exemplos, de modo a instanciar o
programa C analisado, para comprovar a causa raiz do erro identificado. Tais métodos
podem ser vistos como um método complementar para a verificação efetuada pelos
BMCs. Demonstramos a eficácia dos métodos propostos sobre benchmarks públicos de
código C.
|
4 |
Contributions à la vérification de la sûreté de l'assemblage et à l'adaptation de composants réutilisables / Contributions to the formal verification of the assembly and adaptation of reusable componentsMouelhi, Sebti 30 August 2011 (has links)
Cette thèse a pour objectif de proposer une approche formelle basée sur les automates d’interface pour spécifier les contrats des composants réutilisables et vérifier leur interopérabilité fonctionnelle. Cette interopérabilité se traduit par la vérification des trois niveaux : signature, sémantique, et protocole. Le formalisme des automates d’interface est basé sur une approche « optimiste» qui prend en compte les contraintes de l’environnement. Cette approche considère que deux composants sont compatibles s’il existe un environnement convenable avec lequel ils peuvent interagir correctement. Dans un premier temps, nous proposons une approche préliminaire qui intègre la sémantique des paramètres des actions dans la vérification de la compatibilité et de la substitution des composants spécifiés par des automates d’interface. Dans un second temps, nous nous somme intéressés à adapter les composants réutilisables dont les contrats sont décrits par des automates d’interface enrichis par la sémantique des actions. En ce sens, nous avons proposé un algorithme qui permet de générer automatiquement la spécification d’un adaptateur de deux composants lorsque celui-ci existe. Dans un troisième temps, nous avons augmenté le pouvoir d’expression de notre approche proposée pour vérifier l’interopérabilité et les propriétés de sûreté des composants qui communiquent par des variables définies au niveau de leurs contrats d’interface. En particulier, nous étudions la préservation des invariants par composition et par raffinement. / The aim of this thesis is to propose a formal approach based on interface automata to specify the contracts of reusable components and to verify their functional interoperability. The functional interoperability is checked at three levels : signature, semantics, and protocol. Interface automata are based on an « optimistic » approach that takes into account the environment constraints. This approach considers that two components are compatible if there is a suitable environment with which they can interact properly. First, we propose an approach allowing the integration of the semantics of the action parameters in interface automata in order to strengthen the compatibility and substitution check between components. Second, we were interested in adapting reusable components whose contracts are described by interface automata enriched by the action semantics. In this context, we propose an algorithm of automatic generation of an adaptor of two mismatched components if possible. Third, we have increased the expressive power of our proposed approach to verify the interoperability and the safety properties of components that communicate by interface variables defined at the level of their contracts. In particular, we study the preservation of invariants by composition and refinement.
|
Page generated in 0.0742 seconds