scholarly journals A DSL for Resource Checking Using Finite State Automaton-Driven Symbolic Execution

2020 ◽  
Vol 11 (1) ◽  
pp. 107-115
Author(s):  
Endre Fülöp ◽  
Norbert Pataki

AbstractStatic analysis is an essential way to find code smells and bugs. It checks the source code without execution and no test cases are required, therefore its cost is lower than testing. Moreover, static analysis can help in software engineering comprehensively, since static analysis can be used for the validation of code conventions, for measuring software complexity and for executing code refactorings as well. Symbolic execution is a static analysis method where the variables (e.g. input data) are interpreted with symbolic values. Clang Static Analyzer is a powerful symbolic execution engine based on the Clang compiler infrastructure that can be used with C, C++ and Objective-C. Validation of resources’ usage (e.g. files, memory) requires finite state automata (FSA) for modeling the state of resource (e.g. locked or acquired resource). In this paper, we argue for an approach in which automata are in-use during symbolic execution. The generic automaton can be customized for different resources. We present our domain-specific language to define automata in terms of syntactic and semantic rules. We have developed a tool for this approach which parses the automaton and generates Clang Static Analyzer checker that can be used in the symbolic execution engine. We show an example automaton in our domain-specific language and the usage of generated checker.

2012 ◽  
Vol 9 (3) ◽  
pp. 1045-1074 ◽  
Author(s):  
Tom Dinkelaker ◽  
Mohammed Erradi ◽  
Meryeme Ayache

Composing different features in a software system may lead to conflicting situations. The presence of one feature may interfere with the correct functionality of another feature, resulting in an incorrect behavior of the system. In this work we present an approach to manage feature interactions. A formal model, using Finite State Machines (FSM) and Aspect-Oriented (AO) technology, is used to specify, detect and resolve features interactions. In fact aspects can resolve interactions by intercepting the events which causes troubleshoot. Also a Domain-Specific Language (DSL) was developed to handle Finite State Machines using a pattern matching technique.


Author(s):  
Michal Sroka ◽  
Roman Nagy ◽  
Dominik Fisch

Abstract The article presents tCF (testCaseFramework) - a domain specific language with corresponding toolchain for specification-based software testing of embedded software. tCF is designed for efficient preparation of maintainable and intelligible test cases and for testing process automation, as it allows to generate platform specific test cases for various testing levels. The article describes the essential parts of the tCF meta-model and the applied concept of platform specific test cases generators.


Author(s):  
Jessica Ray ◽  
Ajav Brahmakshatriya ◽  
Richard Wang ◽  
Shoaib Kamil ◽  
Albert Reuther ◽  
...  

Author(s):  
Paulo Perez ◽  
Philippe Roose ◽  
Yudith Cardinale ◽  
Marc Dalmau ◽  
Dominique Masson ◽  
...  

2021 ◽  
Vol 205 ◽  
pp. 102610
Author(s):  
Davide Ancona ◽  
Luca Franceschini ◽  
Angelo Ferrando ◽  
Viviana Mascardi

Sign in / Sign up

Export Citation Format

Share Document