scholarly journals A Formal Approach To Validate Block-Chains

Author(s):  
Roobaea Alroobaea

Our goal is to propose a suitable approach for validating blockchains. For this purpose, we intend to adopt formal methods which are based on strong mathematical foundations. More precisely, we follow a model-based testing approach. The latter consists in describing the behavior of the system using a specific formalism, deriving test cases from the obtained model and then executing the obtained tests on the implementation to check whether it is correct or not. The adopted formalism corresponds to the timed automaton Model. The generated tests may be either digital or analog. Moreover, we propose several techniques which allow to solve the state explosion which may be encountered during the verification and test generation phases.

2020 ◽  
Author(s):  
Roobaea Alroobaea

Our goal is to propose a suitable approach for validating blockchains. For this purpose, we intend to adopt formal methods which are based on strong mathematical foundations. More precisely, we follow a model-based testing approach. The latter consists in describing the behavior of the system using a specific formalism, deriving test cases from the obtained model and then executing the obtained tests on the implementation to check whether it is correct or not. The adopted formalism corresponds to the timed automaton Model. The generated tests may be either digital or analog. Moreover, we propose several techniques which allow to solve the state explosion which may be encountered during the verification and test generation phases.


2021 ◽  
Author(s):  
Moez Krichen ◽  
Seifeddine Mechti

<div>We propose a new model-based testing approach which takes as input a set of requirements described in Arabic Controlled Natural Language (CNL) which is a subset of the Arabic language generated by a specific grammar. The semantics of the considered requirements is defined using the Case Grammar Theory (CTG). The requirements are translated into Transition Relations which serve as an input for test cases generation tools.</div>


2021 ◽  
Author(s):  
Moez Krichen ◽  
Seifeddine Mechti

<div>We propose a new model-based testing approach which takes as input a set of requirements described in Arabic Controlled Natural Language (CNL) which is a subset of the Arabic language generated by a specific grammar. The semantics of the considered requirements is defined using the Case Grammar Theory (CTG). The requirements are translated into Transition Relations which serve as an input for test cases generation tools.</div>


Author(s):  
Vanessa Grosch

Requirements traceability enables the linkage between all development artifacts during the development process. Within model-based testing, requirements traceability links the original requirements with test model elements and generated test cases. Current approaches are either not practical or lack the necessary formal foundation for generating requirements-based test cases using model-checking techniques involving the requirements trace. This paper describes a practical and formal approach to ensure requirements traceability. The descriptions of the requirements are defined on path fragments of timed automata or timed state charts. The graphical representation of these paths is called a computation sequence chart (CSC). CSCs are automatically transformed into temporal logic formulae. A model-checking algorithm considers these formulae when generating test cases.


Author(s):  
DIANXIANG XU ◽  
WEIFENG XU ◽  
W. ERIC WONG

The new constructs in aspect-oriented programming bring new types of programming faults with respect to crosscutting concerns, such as incorrect pointcuts and advice. This paper presents a UML-based approach to testing whether or not an aspect-oriented program conforms to its expected crosscutting behavior. We explore aspect-oriented UML design models to derive tests for exercising interactions between aspects and classes. Each aspect-oriented model consists of class diagrams, aspect diagrams, and sequence diagrams. For a method under test, we weave the sequence diagrams of the advice on the method into the method's sequence diagram. Based on the woven sequence diagram and class/aspect diagrams, we then generate an AOF (Aspect-Object Flow) tree by applying coverage criteria such as condition coverage, polymorphic coverage, and loop coverage to woven sequence diagrams. In the AOF tree, each path from the root to a leaf is an abstract message sequence, indicating a template of test cases. A concrete test case is obtained by creating objects that satisfy the collective constraints in the template. Our empirical study shows that the model-based testing approach is capable of revealing several types of aspect-specific faults, including incorrect advice type, incorrect (weaker or stronger) pointcut strengths, and incorrect aspect precedence.


Author(s):  
Vanessa Grosch

Requirements traceability enables the linkage between all development artifacts during the development process. Within model-based testing, requirements traceability links the original requirements with test model elements and generated test cases. Current approaches are either not practical or lack the necessary formal foundation for generating requirements-based test cases using model-checking techniques involving the requirements trace. This paper describes a practical and formal approach to ensure requirements traceability. The descriptions of the requirements are defined on path fragments of timed automata or timed state charts. The graphical representation of these paths is called a computation sequence chart (CSC). CSCs are automatically transformed into temporal logic formulae. A model-checking algorithm considers these formulae when generating test cases.


Author(s):  
ALIREZA SADEGHI ◽  
SEYED-HASSAN MIRIAN-HOSSEINABADI

Test Driven Development (TDD), as a quality promotion approach, suffers from some shortages that discourage its usage. One of the most challenging shortcomings of TDD is the low level of granularity and abstraction. This may lead to production of software that is not acceptable by the end users. Additionally, exploiting of TDD is not applicable in the enterprise systems development. To overcome this defect, we have merged TDD with Model Based Testing (MBT) and suggested a framework named Model Based Test Driven Development (MBTDD). According to TDD, writing test cases comes before programming, and based on our improved method of TDD, modeling precedes writing test cases. To validate the applicability of the proposed framework, we have implemented a use case of Human Resource Management (HRM) system by means of MBTDD. The empirical results of using MBTTD show that our proposed method overwhelms existing deficiencies of TDD.


Author(s):  
Nuno Laranjeiro ◽  
Marco Vieira

Web services are increasingly being used in business critical environments as a mean to provide a service or integrate distinct software services. Research indicates that, in many cases, services are deployed with robustness issues (i.e., displaying unexpected behaviors when in presence of invalid input conditions). Recently, Test-Driven Development (TDD) emerged as software development technique based on test cases that are defined before development, as a way to validate functionalities. However, programmers typically disregard the verification of limit conditions, such as the ones targeted by robustness testing. Moreover, in TDD, tests are created before developing the functionality, conflicting with the typical robustness testing approach. This chapter discusses the integration of robustness testing in TDD for improving the robustness of web services during development. The authors requested three programmers to create a set of services based on open-source code and to implement different versions of the services specified by TPC-App, using both TDD and the approach presented in this chapter. Results indicate that TDD with robustness testing is an effective way to create more robust services.


Sign in / Sign up

Export Citation Format

Share Document