8,613 research outputs found
Evaluating and comparing fault-based testing strategies for general Boolean specifications: A series of experiments
A great amount of fault-based testing strategies have been proposed to generate test cases for detecting certain types of faults in Boolean specifications. However, most of the previous studies on these strategies were focused on the Boolean expressions in the disjunctive normal form (DNF), even the irredundant DNF (IDNF)-little work has been conducted to comprehensively investigate their performance on general Boolean specifications. In this study, we conducted a series of experiments to evaluate and compare 18 fault-based testing strategies using over 4000 randomly generated fault-seeded Boolean expressions. In the experiments, a testing strategy is regarded as effective and efficient if it can detect most of the seeded faults using a small number of test cases. Our experimental results show that if a testing strategy is highly effective and efficient when testing the Boolean expressions in the IDNF, it also shows high effectiveness and efficiency on general Boolean expressions. It is found that one family of fault-based testing strategies, namely MUMCUT, normally deliver the best performance among all the 18 strategies. Our study provides an in-depth understanding and insight of fault-based testing for general Boolean expressions
Modeling Service Choreographies with Rule-enhanced Business Processes
The participation at EDOC 2010 was overwhelming in every positive sense, and I am very thankful to the committee for this award. Our presentation was received highly positive and triggered several questions. The questions were mainly about the relations of our work with the use of ontology and vocabulary representation languages, and our plans for developing executable models rather than generating code from models. In fact, this was already in line with our previous plans and research directions. Some of these discussions even continued during the following days. In particular, we had plans for two concrete collaborations. One is related to the development of a formal semantics of the rBPMN languages by using process algebra, that is, by using the mCRL2 language in particular. Moreover, we also created a common plan for integration of semi-structured English language for defining business rules and vocabularies. This will also allow us to have a more effective way to capture rules in rBPMN process models. Moreover, our presentation of the rBPMN editor, as an practical implementation tool for the work with the rBPMN language received a special attention, and several researchers have already approached us to establish research collaboration and/or to use our tool, which is now publically available.
The overall experience was also extremely valuable. The program of the conference covered nearly all of the diverse topics in enterprise computing. That is, the selected papers cover engineering aspects in many phases of development life cycle of enterprise systems, especially those designed for distributed environments.
I have also delivered a keynote at the VORTE 2010 workshop with the audience with was the largest of all workshop keynotes at the conference. The participants very positively received my insights. In a very interactive session, we discussed some of the main research challenges important for better integration of business rules and business process modeling languages.The research community has so far mainly focused on the problem of modeling of service orchestrations in the domain of service composition, while modeling of service choreographies has attracted less attention. The following challenges in choreography modeling are tackled in this paper: i) choreography models are not well-connected with the underlying business vocabulary models. ii) there is limited support for decoupling parts of business logic from complete choreography models. This reduces dynamic changes of choreographies; iii) choreography models contain redundant elements of shared business logic, which might lead to an inconsistent implementation and incompatible behavior. Our proposal – rBPMN – is an extension of a business process modeling language with rule and choreography modeling support. rBPMN is defined by weaving the metamodels of the Business Process Modeling Notation and REWERSE Rule Markup Language. To evaluate our proposal, we use service-interaction patterns and compare our approach with related solutions
Recommended from our members
Symbolic execution and the testing of COBOL programs
The thesis is in two parts. Part one is a review of existing work in the area of software testing and more specifically symbolic execution. Part two is a description of the symbolic execution testing system for COBOL (SYM-BOL). Much of the work presented has been published or accepted for publication.
Part one commences by introducing the aims of software testing and is followed by a review of the tools and techniques of software testing that have been developed over the past 25 years. A simple taxonomy of software testing techniques is given. One potentially powerful technique is symbolic execution. The principles of symbolic execution are described followed by the problems in applying symbolic execution. Part one is completed by a review of existing symbolic execution testing systems. No symbolic execution testing system has previously been built for a commercial data processing language such as COBOL. Part two commences by outlining the features of the SYM-BOL system and describes the user strategies that may be employed when using the system.
The system generates an intermediate form in stages by transforming the source program into one that contains only a limited number of language constructs. Path selection can be automatic or undertaken by the user. In both cases the results of the symbolic execution already undertaken are available to the path selector to help reduce the likelihood of selecting an infeasible path. A description of how the Nag-library linear optimizer E04MBF is used for feasibility checking is given. Feasible solutions are turned into files of test cases. Simple assertions may be included in the source program which do not affect the normal execution of the software but which can be verified by inclusion in the symbolic execution
Generalized Toric Codes Coupled to Thermal Baths
We have studied the dynamics of a generalized toric code based on qudits at
finite temperature by finding the master equation coupling the code's degrees
of freedom to a thermal bath. As a consequence, we find that for qutrits new
types of anyons and thermal processes appear that are forbidden for qubits.
These include creation, annihilation and diffusion throughout the system code.
It is possible to solve the master equation in a short-time regime and find
expressions for the decay rates as a function of the dimension of the
qudits. Although we provide an explicit proof that the system relax to the
Gibbs state for arbitrary qudits, we also prove that above a certain crossing
temperature, qutrits initial decay rate is smaller than the original case for
qubits. Surprisingly this behavior only happens with qutrits and not with other
qudits with .Comment: Revtex4 file, color figures. New Journal of Physics' versio
Analysing system susceptibility to faults with simulation tools
In the paper we present original fault simulation tools developed in our Institute. These tools are targeted at system dependability evaluation. They provide mechanisms for detailed and aggregated fault effect analysis. Based on our experience with testing various software applications we outline the most important problems and discuss a sample of simulation results
A heuristic-based approach to code-smell detection
Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache
Dynamic Verification of SystemC with Statistical Model Checking
Many embedded and real-time systems have a inherent probabilistic behaviour
(sensors data, unreliable hardware,...). In that context, it is crucial to
evaluate system properties such as "the probability that a particular hardware
fails". Such properties can be evaluated by using probabilistic model checking.
However, this technique fails on models representing realistic embedded and
real-time systems because of the state space explosion. To overcome this
problem, we propose a verification framework based on Statistical Model
Checking. Our framework is able to evaluate probabilistic and temporal
properties on large systems modelled in SystemC, a standard system-level
modelling language. It is fully implemented as an extension of the Plasma-lab
statistical model checker. We illustrate our approach on a multi-lift system
case study
- …