Comparison of parallel central processing unit‐ and graphics processing unit‐based implementations of greedy string tiling algorithm for source code plagiarism detection

Summary Massive‐enrollment computing courses often involve some practical training through programming assignments and projects that are frequent targets for plagiarism. Source code similarity detection tools are used to prevent such misbehavior. Parallel processing has recently become a viable tech...

Full description

Saved in:
Bibliographic Details
Published inConcurrency and computation Vol. 34; no. 21
Main Authors Mišić, Marko J., Tomašević, Milo V.
Format Journal Article
LanguageEnglish
Published Hoboken, USA John Wiley & Sons, Inc 25.09.2022
Wiley Subscription Services, Inc
Subjects
Online AccessGet full text
ISSN1532-0626
1532-0634
DOI10.1002/cpe.7135

Cover

More Information
Summary:Summary Massive‐enrollment computing courses often involve some practical training through programming assignments and projects that are frequent targets for plagiarism. Source code similarity detection tools are used to prevent such misbehavior. Parallel processing has recently become a viable technique for speeding up the processing of large workloads. This article examines the parallelization of a source code similarity detection method based on the greedy string tiling and Karp–Rabin algorithms. Both CPU and GPU parallelization approaches are discussed. The CPU implementation uses Pthreads, whereas the GPU implementation employs CUDA. Depending on the evaluated dataset which consists of real student assignment codes, speedups of up to seven times over the sequential version of the code are achieved. Evaluation results on both platforms are compared and discussed in detail.
Bibliography:Funding information
Ministarstvo Prosvete, Nauke i Tehnološkog Razvoja, III44009; TR32047
ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:1532-0626
1532-0634
DOI:10.1002/cpe.7135