Generation of Test Cases for Concurrent Software Systems Based on Data-Flow-Oriented Specifications

Author(s):  
Yuting Chen
Mathematics ◽  
2021 ◽  
Vol 9 (9) ◽  
pp. 966
Author(s):  
Dongming Xiang ◽  
Fang Zhao ◽  
Yaping Liu

Petri nets are widely used to model concurrent software systems. Currently, there are many different kinds of Petri net tools that can analyze system properties such as deadlocks, reachability and liveness. However, most tools are not suitable to analyze data-flow errors of concurrent systems because they do not formalize data information and lack efficient computing methods for analyzing data-flows. Especially when a concurrent system has so many concurrent data operations, these Petri net tools easily suffer from the state–space explosion problem and pseudo-states. To alleviate these problems, we develop a new model checker DICER 2.0. By using this tool, we can model the control-flows and data-flows of concurrent software systems. Moreover, the errors of data inconsistency can be detected based on the unfolding techniques, and some model-checking can be done via the guard-driven reachability graph (GRG). Furthermore, some case studies and experiments are done to show the effectiveness and advantage of our tool.


2018 ◽  
Vol 44 (8) ◽  
pp. 747-783 ◽  
Author(s):  
Francesco Adalberto Bianchi ◽  
Alessandro Margara ◽  
Mauro Pezze

Author(s):  
Machani SivaPrasad

Software systems is evolve continuously during development and maintenance. After software is modified regression testing is applied to software to ensure that It behaves intended and modifications not negatively impacts its original functionality .It is time consuming to rerun test suite T of program Pi on modified program Pi+1.So there are many regression testing techniques are there for doing regression testing. These are based on coverage data. So computing coverage data for Pi+1 without rerunning all test cases is the problem for doing regression testing of program Pi+1.This paper proposed a new approach that computes coverage data with selecting test cases T’ for the subsequent versions of the software .By computing coverage data for subsequent version of software on without rerunning entire test suit T we can improve overall time taken to retest the evolving software using Regression testing. This paper focus on improving the performance of regression testing for software evolve continuously during maintenance, by implementing a new approach for regression testing by computing coverage data for evolving software using dataflow analysis and execution tracing .


1994 ◽  
Vol 1 (47) ◽  
Author(s):  
Kim G. Larsen

In this paper, we present a constraint-oriented state-based proof methodology for concurrent software systems which exploits compositionality and abstraction for the reduction of the verification problem under investigation. Formal basis for this methodology are Modal Transition Systems allowing loose state-based specifications, which can be refined by successively adding constraints. Key concepts of our method are <em>projective views</em>, <em>separation of proof obligations</em>, <em> Skolemization</em> and <em>abstraction</em>. The method is even applicable to real time systems


Algorithms ◽  
2021 ◽  
Vol 14 (11) ◽  
pp. 335
Author(s):  
Hongwei Wei ◽  
Guanjun Lin ◽  
Lin Li ◽  
Heming Jia

Exploitable vulnerabilities in software systems are major security concerns. To date, machine learning (ML) based solutions have been proposed to automate and accelerate the detection of vulnerabilities. Most ML techniques aim to isolate a unit of source code, be it a line or a function, as being vulnerable. We argue that a code segment is vulnerable if it exists in certain semantic contexts, such as the control flow and data flow; therefore, it is important for the detection to be context aware. In this paper, we evaluate the performance of mainstream word embedding techniques in the scenario of software vulnerability detection. Based on the evaluation, we propose a supervised framework leveraging pre-trained context-aware embeddings from language models (ELMo) to capture deep contextual representations, further summarized by a bidirectional long short-term memory (Bi-LSTM) layer for learning long-range code dependency. The framework takes directly a source code function as an input and produces corresponding function embeddings, which can be treated as feature sets for conventional ML classifiers. Experimental results showed that the proposed framework yielded the best performance in its downstream detection tasks. Using the feature representations generated by our framework, random forest and support vector machine outperformed four baseline systems on our data sets, demonstrating that the framework incorporated with ELMo can effectively capture the vulnerable data flow patterns and facilitate the vulnerability detection task.


Sign in / Sign up

Export Citation Format

Share Document