본문

서브메뉴

Data Race Analysis and its Applications
Data Race Analysis and its Applications
Data Race Analysis and its Applications

상세정보

자료유형  
 학위논문 서양
최종처리일시  
20260202105327
ISBN  
9798263325312
DDC  
658.404
저자명  
Jin, Feiyang.
서명/저자  
Data Race Analysis and its Applications
발행사항  
[Sl] : Georgia Institute of Technology, 2025
발행사항  
Ann Arbor : ProQuest Dissertations & Theses, 2025
형태사항  
117 p
주기사항  
Source: Dissertations Abstracts International, Volume: 87-05, Section: B.
주기사항  
Advisor: Sarkar, Vivek.
학위논문주기  
Thesis (Ph.D.)--Georgia Institute of Technology, 2025.
초록/해제  
요약A data race is a troublesome bug frequently found in parallel programs. It occurs when two or more accesses to the same memory location happen concurrently, and at least one of them is a write. Data races are particularly notorious because programs with data races could lead to non-deterministic behaviors, where the program may or may not return the same result on different executions, even with identical inputs. It is difficult for programmers to identify data races given the non-determinism. As a result, even experienced developers often struggle to understand, locate, and fix data races without the aid of specialized tools.To assist programmers in writing correct parallel programs without data races, this dissertation outlines techniques for programmers to analyze data races. First, I studied the fundamentals of task-parallel programs and proved that data-race freedom leads to determinism for certain task-parallel programs. The theoretical result would greatly help programmers become confident in the correctness of their programs. Second, I designed a new dynamic race detection algorithm for task-parallel programs with promises. A promise is a construct that can be used to support arbitrary point-to-point synchronization. The race detection algorithm also applies to programs that use more restricted parallel constructs, as long as those constructs can be implemented using promises. The implementation of the race detector, together with several optimizations introduced, has a comparable slowdown to previous race detectors that do not support promises. Third, I built a tool that visualizes data races found in task-parallel programs. The visualizer consists of a graph builder and a visualization interface. Because most of the previous work only studied the visualization of performance bottlenecks, my tool is the first of its kind to visualize correctness issues detected in parallel programs. I also conducted a performance evaluation and an efficacy research survey to demonstrate the usefulness of the tool. Finally, I designed and implemented a closed-loop application to fix data races with the help of large language model (LLM). The application uses previous fixed data races as few-shot examples and asks ChatGPT to remove data races found in a program. The proposed solution by ChatGPT is checked again to ensure correctness before a new commit is created to notify engineers.
일반주제명  
Schedules
일반주제명  
Syntax
일반주제명  
Design
일반주제명  
Determinism
일반주제명  
Large language models
일반주제명  
Visualization
일반주제명  
Chatbots
일반주제명  
Semantics
기타저자  
Georgia Institute of Technology.
기본자료저록  
Dissertations Abstracts International. 87-05B.
전자적 위치 및 접속  
로그인 후 원문을 볼 수 있습니다.

MARC

 008260126s2025        us                              c    eng  d
■001000017360246
■00520260202105327
■006m          o    d                
■007cr#unu||||||||
■020    ▼a9798263325312
■035    ▼a(MiAaPQ)AAI32307893
■035    ▼a(MiAaPQ)GeorgiaTech78663
■040    ▼aMiAaPQ▼cMiAaPQ
■0820  ▼a658.404
■1001  ▼aJin,  Feiyang.
■24510▼aData  Race  Analysis  and  its  Applications
■260    ▼a[Sl]▼bGeorgia  Institute  of  Technology▼c2025
■260  1▼aAnn  Arbor▼bProQuest  Dissertations  &  Theses▼c2025
■300    ▼a117  p
■500    ▼aSource:  Dissertations  Abstracts  International,  Volume:  87-05,  Section:  B.
■500    ▼aAdvisor:  Sarkar,  Vivek.
■5021  ▼aThesis  (Ph.D.)--Georgia  Institute  of  Technology,  2025.
■520    ▼aA  data  race  is  a  troublesome  bug  frequently  found  in  parallel  programs.  It  occurs  when  two  or  more  accesses  to  the  same  memory  location  happen  concurrently,  and  at  least  one  of  them  is  a  write.  Data  races  are  particularly  notorious  because  programs  with  data  races  could  lead  to  non-deterministic  behaviors,  where  the  program  may  or  may  not  return  the  same  result  on  different  executions,  even  with  identical  inputs.  It  is  difficult  for  programmers  to  identify  data  races  given  the  non-determinism.  As  a  result,  even  experienced  developers  often  struggle  to  understand,  locate,  and  fix  data  races  without  the  aid  of  specialized  tools.To  assist  programmers  in  writing  correct  parallel  programs  without  data  races,  this  dissertation  outlines  techniques  for  programmers  to  analyze  data  races.  First,  I  studied  the  fundamentals  of  task-parallel  programs  and  proved  that  data-race  freedom  leads  to  determinism  for  certain  task-parallel  programs.  The  theoretical  result  would  greatly  help  programmers  become  confident  in  the  correctness  of  their  programs.  Second,  I  designed  a  new  dynamic  race  detection  algorithm  for  task-parallel  programs  with  promises.  A  promise  is  a  construct  that  can  be  used  to  support  arbitrary  point-to-point  synchronization.  The  race  detection  algorithm  also  applies  to  programs  that  use  more  restricted  parallel  constructs,  as  long  as  those  constructs  can  be  implemented  using  promises.  The  implementation  of  the  race  detector,  together  with  several  optimizations  introduced,  has  a  comparable  slowdown  to  previous  race  detectors  that  do  not  support  promises.  Third,  I  built  a  tool  that  visualizes  data  races  found  in  task-parallel  programs.  The  visualizer  consists  of  a  graph  builder  and  a  visualization  interface.  Because  most  of  the  previous  work  only  studied  the  visualization  of  performance  bottlenecks,  my  tool  is  the  first  of  its  kind  to  visualize  correctness  issues  detected  in  parallel  programs.  I  also  conducted  a  performance  evaluation  and  an  efficacy  research  survey  to  demonstrate  the  usefulness  of  the  tool.  Finally,  I  designed  and  implemented  a  closed-loop  application  to  fix  data  races  with  the  help  of  large  language  model  (LLM).  The  application  uses  previous  fixed  data  races  as  few-shot  examples  and  asks  ChatGPT  to  remove  data  races  found  in  a  program.  The  proposed  solution  by  ChatGPT  is  checked  again  to  ensure  correctness  before  a  new  commit  is  created  to  notify  engineers.
■590    ▼aSchool  code:  0078.
■650  4▼aSchedules
■650  4▼aSyntax
■650  4▼aDesign
■650  4▼aDeterminism
■650  4▼aLarge  language  models
■650  4▼aVisualization
■650  4▼aChatbots
■650  4▼aSemantics
■690    ▼a0389
■690    ▼a0800
■71020▼aGeorgia  Institute  of  Technology.
■7730  ▼tDissertations  Abstracts  International▼g87-05B.
■790    ▼a0078
■791    ▼aPh.D.
■792    ▼a2025
■793    ▼aEnglish
■85640▼uhttp://www.riss.kr/pdu/ddodLink.do?id=T17360246▼nKERIS▼z이  자료의  원문은  한국교육학술정보원에서  제공합니다.

미리보기

내보내기

chatGPT토론

Ai 추천 관련 도서


    신착도서 더보기
    최근 3년간 통계입니다.

    소장정보

    • 예약
    • 소재불명신고
    • 나의폴더
    • 우선정리요청
    • 비도서대출신청
    • 야간 도서대출신청
    소장자료
    등록번호 청구기호 소장처 대출가능여부 대출정보
    TF14486 전자도서 대출가능 마이폴더 부재도서신고 비도서대출신청 야간 도서대출신청

    * 대출중인 자료에 한하여 예약이 가능합니다. 예약을 원하시면 예약버튼을 클릭하십시오.

    해당 도서를 다른 이용자가 함께 대출한 도서

    관련 인기도서

    로그인 후 이용 가능합니다.