Ali Tehrani Jamsaz, Mohammed Khaleel, R. Akbari, A. Jannesari
{"title":"DeepRace: A learning-based data race detector","authors":"Ali Tehrani Jamsaz, Mohammed Khaleel, R. Akbari, A. Jannesari","doi":"10.1109/ICSTW52544.2021.00046","DOIUrl":null,"url":null,"abstract":"In this paper, we propose DeepRace, a novel approach toward detecting data race bugs in the source code. We build a deep neural network model to find data race bugs instead of creating a data race detector manually. Our model uses a one-layer convolutional neural network (CNN) with different window sizes to find data race. We adopt the class activation map in order to highlight the line of codes with a data race. Thus, the DeepRace model can detect the data race on a file-level and line of code level. We trained and tested the model with OpenMP and POSIX source code datasets consisting of more than 5000 and 8000 source code files respectively. Comparing to other race detectors, we only had a small number of false positives and false negatives up to 3 and 4 for each OpenMP data race.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSTW52544.2021.00046","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
In this paper, we propose DeepRace, a novel approach toward detecting data race bugs in the source code. We build a deep neural network model to find data race bugs instead of creating a data race detector manually. Our model uses a one-layer convolutional neural network (CNN) with different window sizes to find data race. We adopt the class activation map in order to highlight the line of codes with a data race. Thus, the DeepRace model can detect the data race on a file-level and line of code level. We trained and tested the model with OpenMP and POSIX source code datasets consisting of more than 5000 and 8000 source code files respectively. Comparing to other race detectors, we only had a small number of false positives and false negatives up to 3 and 4 for each OpenMP data race.