A Generic Approach to the Verification of the Permutation Property of Sequential and Parallel Swap-Based Sorting Algorithms

被引:7
|
作者
Safari, Mohsen [1 ]
Huisman, Marieke [1 ]
机构
[1] Univ Twente, Formal Methods & Tools, Enschede, Netherlands
来源
关键词
Sorting algorithms; Deductive verification; Separation logic;
D O I
10.1007/978-3-030-63461-2_14
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Sorting is one of the fundamental operations in computer science, and many sequential and parallel algorithms have been proposed in the literature. Swap-based sorting algorithms are one category of sorting algorithms where elements are swapped repeatedly to achieve the desired order. Since these algorithms are widely used in practice, their (functional) correctness, i.e., proving sortedness and permutation properties, is of utmost importance. However, proving the permutation property using automated program verifiers is much more challenging as the formal definition of this property involves existential quantifiers. In this paper, we propose a generic pattern to verify the permutation property for any sequential and parallel swap-based sorting algorithm automatically. To demonstrate our approach, we use VerCors, a verification tool based on separation logic for concurrent and parallel programs, to verify the permutation property of bubble sort, selection sort, insertion sort, parallel odd-even transposition sort, quick sort, two in-place merge sorts and TimSort for any arbitrary size of input.
引用
收藏
页码:257 / 275
页数:19
相关论文
共 49 条
  • [1] Swap-Based Merge Network for High Performance Sorting Accelerators
    Kise, Kenji
    HEART 2018: PROCEEDINGS OF THE 9TH INTERNATIONAL SYMPOSIUM ON HIGHLY-EFFICIENT ACCELERATORS AND RECONFIGURABLE TECHNOLOGIES, 2018,
  • [2] Conservative algorithms for parallel and sequential integer sorting
    Han, YJ
    Shen, XJ
    COMPUTING AND COMBINATORICS, 1995, 959 : 324 - 333
  • [3] PARALLEL PERMUTATION AND SORTING ALGORITHMS AND A NEW GENERALIZED CONNECTION NETWORK
    NASSIMI, D
    SAHNI, S
    JOURNAL OF THE ACM, 1982, 29 (03) : 642 - 667
  • [4] Exploiting few inversions when sorting: Sequential and parallel algorithms
    Levcopoulos, C
    Petersson, O
    THEORETICAL COMPUTER SCIENCE, 1996, 163 (1-2) : 211 - 238
  • [5] Algorithms Sequential & Parallel: A Unified Approach
    Khorasani, Elham S.
    SCALABLE COMPUTING-PRACTICE AND EXPERIENCE, 2007, 8 (01): : 141 - 142
  • [6] Mining algorithms for sequential patterns in parallel: Hash based approach
    Shintani, T
    Kitsuregawa, M
    RESEARCH AND DEVELOPMENT IN KNOWLEDGE DISCOVERY AND DATA MINING, 1998, 1394 : 283 - 294
  • [7] Optimal sequential and parallel algorithms to compute a Steiner tree on permutation graphs
    Mondal, S
    Pal, M
    Pal, TK
    INTERNATIONAL JOURNAL OF COMPUTER MATHEMATICS, 2003, 80 (08) : 937 - 943
  • [8] A Compact and Parallel Swap-Based Shuffler Based on Butterfly Network and Its Complexity Against Side Channel Analysis
    Park, Jong-yeon
    Kim, Seonggyeom
    Lee, Wonil
    Kang, Bo gyeong
    Song, Il-jong
    Oh, Jaekeun
    Sakurai, Kouichi
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2025, 24 (02)
  • [9] Parallel multigrid algorithms based on generic approximate sparse inverses: an SMP approach
    Christos K. Filelis-Papadopoulos
    George A. Gravvanis
    The Journal of Supercomputing, 2014, 67 : 384 - 407
  • [10] Parallel multigrid algorithms based on generic approximate sparse inverses: an SMP approach
    Filelis-Papadopoulos, Christos K.
    Gravvanis, George A.
    JOURNAL OF SUPERCOMPUTING, 2014, 67 (02): : 384 - 407