BEGIN:VCALENDAR
VERSION:2.0
PRODID:Linklings LLC
BEGIN:VTIMEZONE
TZID:America/Chicago
X-LIC-LOCATION:America/Chicago
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20181221T160726Z
LOCATION:D168
DTSTART;TZID=America/Chicago:20181111T153000
DTEND;TZID=America/Chicago:20181111T154700
UID:submissions.supercomputing.org_SC18_sess165_ws_eduhpcp112@linklings.co
 m
SUMMARY:Toward Developing a Repository of Logical Errors Observed in Paral
 lel Code for Teaching Code Correctness
DESCRIPTION:Workshop\nDiversity, Education, Workshop Reg Pass\n\nToward De
 veloping a Repository of Logical Errors Observed in Parallel Code for Teac
 hing Code Correctness\n\nNguyen, Arora\n\nDebugging parallel programs can 
 be a challenging task, especially for the beginners. While parallel debugg
 ers like DDT and TotalView can be extremely useful in tracking down the pr
 ogram statements that are connected to the bugs, often the onus is on the 
 programmers to reason about the logic of the program statements in order t
 o fix the bugs in them. These debuggers may neither be able to precisely i
 ndicate the logical errors in the parallel programs nor they may provide i
 nformation on fixing those errors. Therefore, there is a need for developi
 ng tools and educational content on teaching the pitfalls in parallel prog
 ramming and writing correct code. Such content can help in guiding the beg
 inners in avoiding commonly observed logical errors and in verifying the c
 orrectness of their parallel programs. In this paper, we 1) enumerate some
  of the logical errors that we have seen in the parallel programs that wer
 e written by the beginners working with us, and 2) discuss the ways to fix
  those errors. The documentation on these logical errors can contribute in
  enhancing the productivity of the beginners, and can potentially help the
 m in their debugging efforts. We have added the code samples containing th
 e logical errors and their solutions in a Github repository so that the ot
 hers in the community can reproduce the errors on their systems and learn 
 from them. The content presented in this paper may also be useful for thos
 e developing high-level tools for detecting and removing logical errors in
  parallel programs.
URL:https://sc18.supercomputing.org/presentation/?id=ws_eduhpcp112&sess=se
 ss165
END:VEVENT
END:VCALENDAR

