The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Information flow control (IFC) is useful in preventing information leakage during software execution. Our survey reveals that no IFC model is applied on the entire software development process. Applying an IFC model on the entire software development process offers the following features: (1) viewpoints of all stakeholders (i.e., customers and analysts) can be included and (2) the IFC model helps...
The growing dependence of our society on increasingly complex software systems makes software testing ever more important and challenging. In many domains, such as healthcare and transportation, several independent systems, forming a heterogeneous and distributed system of systems, are involved in the provisioning of end-to-end services to users. However, existing testing techniques, namely in the...
Documenting system behavior explicitely using graphical models (e.g. UML activity or sequence diagrams) facilitates communication about and understanding of software systems during development or maintenance. Creating graphical models manually is a time-consuming and often error-prone task. Deriving models from system-execution traces, however, suffers from the problem of model-size explosion. We...
Model transformations play a prominent role in Model-Driven Engineering (MDE), where they are used to transform models between languages, to refactor and simulate models, or to generate code from models. However, while the reliability of any MDE process depends on the correctness of its transformations, methods helping in detecting errors in transformations and automate their verification are still...
The existing model-based tools employ runtime monitoring methodologies for debugging and testing of embedded systems. In these tools, the additional instrumentation for incorporating and executing the test code varies based on the application. Such techniques could also introduce significant, non-deterministic overhead in the embedded system. This is a hurdle in applying Model-Based Testing (MBT)...
Faults in model transformations will result in defective models, and eventually defective code. Correction of defects at the code level is considered very late and is often expensive. Uncorrected defects in the models will propagate to other artifacts, thus, adversely affecting the quality of the end product. Moreover, defect propagation may result in a system that does not meet the stakeholders'...
The quality of requirements and the effectiveness of verification and validation (V&V) techniques in guaranteeing that a final system reflects its established requirements have a direct influence on the quality and dependability of the delivered system. The V&V process can be efficient from a managerial point of view, but ineffective from a technical perspective, and vice versa. This paper...
It is widely known that errors discovered in advanced stages of a project are expensive to fix. Therefore, it is important to look for errors as soon as possible within the design cycle. This work addresses the early verification of embedded and real-time systems based on testing the behavior specified in the high-level specifications. A tool to automate the execution of test cases on UML models is...
We present a new model-based test case generation approach, which takes inputs an executable system model and preliminary test case coverage, performs an automated model simulation, and eventually generates refined test cases for software testing. We adopt Live Sequence Charts to specify an executable system model, and present a logic-based model simulator for consistency testing. As a result, our...
Classical requirements validation methods usually work with static behavioral models, and under the assumption that there are no dependencies and interactions between the requirements. Requirements verification is mostly done by statically analyzing the design artifacts and by running tests. This work presents a practical formal approach for requirements validation and verification (V&V) of dependable...
A Mobile Agent System (MAS) is a special kind of distributed system in which the agent software can move from one physical host to another. This paper describes a new approach, together with its implementation and evaluation, for checking the conformance of a MAS with respect to an executable model. In order to check the effectiveness of our conformance check, we have built a mutation-based evaluation...
Developing large scale software systems has major security challenges. This paper describes the issues involved and then addresses two topics: formal methods for emerging secure systems and secure services modeling.
Random testing can eliminate subjectiveness in constructing test data and increase the diversity of test data. However, one difficult problem is to construct test oracles that decide test results - test failures or successes. Assertions can be used as test oracles and are most effective when they are derived from formal specifications such as OCL constraints. Random testing, if fully automated, can...
A UML protocol state machine describes a behavioral interface for a class as a number of states and transitions between states triggered by method calls. In this paper, we present an approach to generate behavioral class interfaces in the form of class contracts from UML protocol state machines. The generated contracts can be used for documentation, test case generation, test case oracle, and as run-time...
Reliability is one of the major concerns for software engineers. The increasing size of software systems and their inherent complexity - which is essentially related to the intricate interdependencies among many heterogeneous components - pose serious difficulties to its assessment and assurance. The actual system runtime behavior is difficult to forecast during the development phase, and just relying...
Software testing is complex and costly. It has become increasingly difficult to assess the quality of software and evaluate its correctness due to the ever increasing complexity of the software implementations as well as their dynamic nature in terms of the requirements changes and functionality updates. It is practically not possible to test a software system for all possible combinations of inputs,...
Evaluation of runtime object states against the model-level states defined in a state model is critical to state based test automation. This paper presents a state mapping framework to support the automated state-based test execution process. The framework automatically keeps track of runtime object states and maps these states to model-level abstract states. It also includes a comparator to determine...
This paper describes the Jasmine tool to detect inconsistencies between the modelled behavior depicted in UML behavior models and monitored runtime behavior of Java programs by runtime verification. Jasmine takes Java programs under verification and corresponding UML models including sequence diagrams, activity diagrams and state machine diagrams. Jasmine imports and parses UML models created by any...
Systems-of-systems (SoS) represent a novel kind of system, for which runtime evolution is a key requirement, as components join and leave during runtime. Current component integration and verification techniques are not enough in such a dynamic environment. In this paper we present ATLAS, an architectural framework that enables the runtime integration and verification of a system, based on the built-in...
Some approaches to Model-Based Testing focus on test case generation from assertions (operation pre- and post- conditions) and invariants, e.g., written in the Object Constraint Language. In such a setting, assertions must be validated. Validation is often carried out via executing scenarios wherein system operations are applied, to detect unsatisfied invariants or failed preconditions. This paper...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.