31 research outputs found
Automatic verification and validation wizard in web-centred end-user software engineering
This paper addresses one of the major web end-user software engineering (WEUSE) challenges, namely, how to
verify and validate software products built using a life cycle enacted by end-user programmers. Few end-user
development support tools implement an engineering life cycle adapted to the needs of
end users. End users do not have the programming knowledge, training or experience to perform devel- opment
tasks requiring creativity. Elsewhere we published a life cycle adapted to this challenge. With
the support of a wizard, end-user programmers follow this life cycle and develop rich internet applica- tions (RIA)
to meet specific end-user requirements. However, end-user programmers regard verification and validation activities
as being secondary or unnecessary for opportunistic programming tasks. Hence, although the solutions that they
develop may satisfy specific requirements, it is impossible to guarantee the quality or the reusability of this
software either for this user or for other developments by future end-user programmers. The challenge, then, is to
find means of adopting a verification and validation workflow and adding verification and validation activities to the
existing WEUSE life cycle. This should
not involve users having to make substantial changes to the type of work that they do or to their priori- ties. In
this paper, we set out a verification and validation life cycle supported by a wizard that walks the user through test
case-based component, integration and acceptance testing. This wizard is well-aligned with WEUSE’s characteristic
informality, ambiguity and opportunisticity. Users applying this verification and validation process manage to find
bugs and errors that they would otherwise be unable to identify. They also receive instructions for error correction.
This assures that their composite applications are of
better quality and can be reliably reused. We also report a user study in which users develop web soft- ware with
and without a wizard to drive verification and validation. The aim of this user study is to confirm the applicability
and effectiveness of our wizard in the verification and validation of a RIAEuropean Union (UE) GA FP7-216048European Union (UE) GA FP7-285248European Union (UE) GA FP7-258862Ministerio de Economía y Competitividad TIN2016-76956-C3-2-R (POLOLAS)Ministerio de Economía y Competitividad TIN2015-71938-RED
Recommended from our members
ORACLE GUIDED INCREMENTAL SAT SOLVING TO REVERSE ENGINEER CAMOUFLAGED CIRCUITS
This study comprises two tasks. The first is to implement gate-level circuit camouflage techniques. The second is to implement the Oracle-guided incremental de-camouflage algorithm and apply it to the camouflaged designs.
The circuit camouflage algorithms are implemented in Python, and the Oracle- guided incremental de-camouflage algorithm is implemented in C++. During this study, I evaluate the Oracle-guided de-camouflage tool (Solver, in short) performance by de-obfuscating the ISCAS-85 combinational benchmarks, which are camouflaged by the camouflage algorithms. The results show that Solver is able to efficiently de-obfuscate the ISCAS-85 benchmarks regardless of camouflaging style, and is able to do so 10.5x faster than the best existing approaches. And, based on Solver, this study also measures the de-obfuscation runtime for each camouflage style
A parallelized micro-simulation platform for population and mobility behavior. Application to Belgium.
In this book we aim at developing an agent-based micro-simulation framework for (large) population evolution and mobility behaviour. More specifically we focus on the agents generation and the traffic simulation parts of the platform, and its application to Belgium. Hence we firstly develop a synthetic population generator whose main characteristics are its sample-free nature, its ability to cope with moderate data inconsistencies and different levels of aggregation. We then generate the traffic demand forecasting with a stochastic and flexible activity-based model relying on weak data requirements. Finally, a traffic simulation is completed by considering the assignment of the generated demand on the road network. We give the initial developments of a strategic agent-based alternative to the conventional simulation-based dynamic traffic assignment models
SketchLib: enabling efficient sketch-based monitoring on programmable switches
CNS-2107086 - National Science Foundation; CNS-2106946 - National Science FoundationPublished versio
Computer Aided Verification
The open access two-volume set LNCS 11561 and 11562 constitutes the refereed proceedings of the 31st International Conference on Computer Aided Verification, CAV 2019, held in New York City, USA, in July 2019. The 52 full papers presented together with 13 tool papers and 2 case studies, were carefully reviewed and selected from 258 submissions. The papers were organized in the following topical sections: Part I: automata and timed systems; security and hyperproperties; synthesis; model checking; cyber-physical systems and machine learning; probabilistic systems, runtime techniques; dynamical, hybrid, and reactive systems; Part II: logics, decision procedures; and solvers; numerical programs; verification; distributed systems and networks; verification and invariants; and concurrency
Recommended from our members
The interlocutory tool box: techniques for curtailing coincidental correctness
This thesis was submitted for the award of Doctor of Philosophy and was awarded by Brunel University LondonEliminating faults in software systems is important, because they can have catastrophic consequences. This can be achieved by testing and debugging. Testing involves executing the system with a test case to obtain an output. The output is evaluated against the tester’s expectations; deviation from these expectations indicates that a fault has been detected. Debugging involves using information about the fault, that was gleaned during testing, to isolate the fault in the system. Coincidental correctness is a widespread phenomenon in which a fault corrupts a program state, and despite this, the system produces an output that satisfies the tester’s expectations. Coincidental correctness can compromise the effectiveness of testing and debugging techniques.
This thesis investigated methods for alleviating coincidental correctness in testing and debugging. The investigation culminated in four techniques. The first technique is called Interlocutory Testing. Interlocutory Testing is a framework for the development of test oracles that are referred to as Interlocutory Relations. Interlocutory Relations are the first type of oracle that has been specifically designed to operate effectively in the presence of coincidental correctness. Metamorphic Testing was pioneered for testing non-testable systems. However, the effectiveness of this technique can be compromised by coincidental correctness. The second technique, Interlocutory Metamorphic Testing, is a version of Metamorphic Testing that has been integrated with Interlocutory Testing, to alleviate the impact of coincidental correctness on Metamorphic Testing. Interlocutory Mutation Testing is the third technique. This technique uses similar principles to Interlocutory Testing to alleviate the Equivalent Mutant Problem in the presence of coincidental correctness and non-determinism. Finally, the fourth technique is Interlocutory Spectrum-based Fault Localisation. This technique uses Interlocutory Relations to ameliorate the effects of coincidental correctness on fault localisation.
Each technique was empirically evaluated. The results were promising, and indicated that these techniques were capable of mitigating the impact of coincidental correctness