scholarly journals Abstracting Strings for Model Checking of C Programs

2020 ◽  
Vol 10 (21) ◽  
pp. 7853
Author(s):  
Henrich Lauko ◽  
Martina Olliaro ◽  
Agostino Cortesi ◽  
Petr Roc̆kai

Data type abstraction plays a crucial role in software verification. In this paper, we introduce a domain for abstracting strings in the C programming language, where strings are managed as null-terminated arrays of characters. The new domain M-String is parametrized on an index (bound) domain and a character domain. By means of these different constituent domains, M-Strings captures shape information on the array structure as well as value information on the characters occurring in the string. By tuning these two parameters, M-String can be easily tailored for specific verification tasks, balancing precision against complexity. The concrete and the abstract semantics of basic operations on strings are carefully formalized, and soundness proofs are fully detailed. Moreover, for a selection of functions contained in the standard C library, we provide the semantics for character access and update, enabling an automatic lifting of arbitrary string-manipulating code into our new domain. An implementation of abstract operations is provided within a tool that automatically lifts existing programs into the M-String domain along with an explicit-state model checker. The accuracy of the proposed domain is experimentally evaluated on real-case test programs, showing that M-String can efficiently detect real-world bugs as well as to prove that program does not contain them after they are fixed.

Author(s):  
Nirupma Pathak ◽  
Shubham Tiwari

In this paper, we present the work regarding the selection sorting technique for double ended selection sort. This sorting algorithm is both theoretical and programmatically analysis show that the introduce advance selection sort algorithm which enhances the performance of selection sort. It is much faster than the selection sort because of its selection of minimum and maximum elements simultaneously. Advance selection sort algorithm possibility of enhancing execution speed up to 30%. Code for this algorithm is written in C programming Language. So easy to understand the concept of this sorting algorithm by everyone because C is the popular language. Results and discusion show a higher level of performance for the sorting algorithm. It can theoretically prove that the algorithm can reduce steps with the selection short and will improve N2 sorts toward NlogN sort.


2020 ◽  
Vol 30 (3) ◽  
pp. 28-33 ◽  
Author(s):  
S. A. Pryadko ◽  
A. Yu. Troshin ◽  
V. D. Kozlov ◽  
A. E. Ivanov

The article describes various options for speeding up calculations on computer systems. These features are closely related to the architecture of these complexes. The objective of this paper is to provide necessary information when selecting the capability for the speeding process of solving the computation problem. The main features implemented using the following models are described: programming in systems with shared memory, programming in systems with distributed memory, and programming on graphics accelerators (video cards). The basic concept, principles, advantages, and disadvantages of each of the considered programming models are described. All standards for writing programs described in the article can be used both on Linux and Windows operating systems. The required libraries are available and compatible with the C/C++ programming language. The article concludes with recommendations on the use of a particular technology, depending on the type of task to be solved.


Author(s):  
Miroslava Mihajlov Carević ◽  
Miloš Ilić ◽  
Milena Petrović ◽  
Nebojša Denić

In this paper we deal with a method for the determination of numbers in a Pascal triangle that are simultaneously triangular, tetrahedral and pentaedroidni. The collected results, obtained by mathematical analysis, were verified by computer. For this purpose, we used the C# programming language as well as the computer laboratory within our University in order to test the results. The results collected by computer confirmed the accuracy of the results obtained by mathematical analysis.


Sign in / Sign up

Export Citation Format

Share Document