SlideShare a Scribd company logo
PRESENTED BY:
Towards Developing a Repository of Logical Errors
Observed in Parallel Code to Teach Code Correctness
EduHPC 2018 workshop @SC18
November 11, 2018
Trung Nguyen Ba: tnguyenba@cs.umass.edu
Ritu Arora: rauta@tacc.utexas.edu
Challenges in parallel programming for
beginners
It can be very hard to test and debug
parallel programs
2
IPT
Why ?
4
Logical error repository
Errors
Internal
Sources
Stack
Overflow
( Students, developers etc.)
Repository
MPI tags
OpenMP
tags
CUDA tags
5
Examples of the bug and its tag
MPI: Incorrect initialization of variables
Parallel Program (with logical error) Parallel Program (fixed)
int range = 100/size;
int start = rank*range;
int end = start + range;
int sum = 1;
for(int i=start;i < end;i++) {
sum +=1;
}
int recv = 0;
MPI_Allreduce(&sum,&recv,1,MPI_INT
,MPI_SUM, MPI_COMM_WORLD);
sum = recv;
int range = 100/size;
int start = rank*range;
int end = start + range;
int sum = (rank==0)? 1: 0;
for(int i=start;i < end;i++) {
sum +=1;
}
int recv = 0;
MPI_Allreduce(&sum,&recv,1,MPI_INT,
MPI_SUM, MPI_COMM_WORLD);
sum = recv;
6
Each logical error contains
Buggy version Fixed version
Instructions for compile and run Explanation
7
How can people use this repository ?
Source code from the github
Quizzes on the logical errors
Logical error reproducibility for experimenting
● https://github.com/ritua2/IPT/tree/master/bug-patterns/Quizzes
● https://github.com/ritua2/IPT/tree/master/bug-patterns
● Instructions on how to recreate the logical errors for learning or
analyses
○ Note: not guaranteed for non-deterministic errors
8
Example of questions in the quizzes
Text version Online version
9
Evaluation of our work
Relevance test
Usefulness test
● Will it help people in avoiding the errors in the future by seeing them in the
repository?
● How easy do people miss these errors ?
10
Command line
API
Web interface
Parallel Programing
Model and Tag
(# errors)
Repository
MPI OpenMP CUDA
MPI
tags
OpenMP
tags
CUDA
tags
User provides
Send to
process
Result returned
Result returned
Web-Enabled Repository of Errors
11
What next ?
Repository of errors in parallel programs
Database of errors in parallel programs
Error
Internal Sources Stack Overflow
( Students, developers etc.)
Error
Internal Sources Stack Overflow
( Students, developers etc.)
Real-world
projects
12
Logical error submission
Web Service Submission Format
13
Conclusion
● We have started building a repository of logical errors for helping
students in learning parallel programming
● Repository usage:
○ Download source code from the repo
○ Use the quizzes
○ Reproduce the bugs
● We are collecting data to evaluate the repository for relevance and
usefulness
14
Acknowledgement
The work presented in this paper was made possible
through the National Science Foundation (NSF) award
number 1642396.
15
Thanks!
Any questions, comments, concerns?
Contact:
Ritu Arora: rauta@tacc.utexas.edu
Trung Nguyen Ba: tnguyenba@cs.umass.edu
16

More Related Content

What's hot

Lecture 1 what_is_programming_language
Lecture 1 what_is_programming_languageLecture 1 what_is_programming_language
Lecture 1 what_is_programming_language
eShikshak
 
(D 15 180770107240)
(D 15 180770107240)(D 15 180770107240)
(D 15 180770107240)
RaviModi37
 
How c/c++ works
How c/c++ worksHow c/c++ works
How c/c++ works
Md. Ekhlasur Rahman
 
Rrd methodology
Rrd methodologyRrd methodology
Rrd methodology
ChristinaButsko
 
Types of errors
Types of errorsTypes of errors
Types of errors
Riya Josh
 
Debugging and optimization of multi-thread OpenMP-programs
Debugging and optimization of multi-thread OpenMP-programsDebugging and optimization of multi-thread OpenMP-programs
Debugging and optimization of multi-thread OpenMP-programs
PVS-Studio
 
18CSS101J PROGRAMMING FOR PROBLEM SOLVING
18CSS101J PROGRAMMING FOR PROBLEM SOLVING18CSS101J PROGRAMMING FOR PROBLEM SOLVING
18CSS101J PROGRAMMING FOR PROBLEM SOLVING
GOWSIKRAJAP
 
Introduction to Computer and Programing - Lab2
Introduction to Computer and Programing - Lab2Introduction to Computer and Programing - Lab2
Introduction to Computer and Programing - Lab2
hassaanciit
 
Program Oktober Ceria untuk Public Training AS/400 Programming
Program Oktober Ceria untuk Public Training  AS/400 Programming Program Oktober Ceria untuk Public Training  AS/400 Programming
Program Oktober Ceria untuk Public Training AS/400 Programming
Hany Paulina
 
Resume
ResumeResume
What is programming what are its benefits
What is programming  what are its benefits What is programming  what are its benefits
What is programming what are its benefits
Vijay Singh Khatri
 
Public Training RPG IV (free format) Programming Workshop for System i from B...
Public Training RPG IV (free format) Programming Workshop for System i from B...Public Training RPG IV (free format) Programming Workshop for System i from B...
Public Training RPG IV (free format) Programming Workshop for System i from B...
Hany Paulina
 
Python Programming | Star Certification
Python  Programming | Star CertificationPython  Programming | Star Certification
Python Programming | Star Certification
Star Certification
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
Aiman Hud
 
notes on Programming fundamentals
notes on Programming fundamentals notes on Programming fundamentals
notes on Programming fundamentals
ArghodeepPaul
 
Programming Methodology
Programming MethodologyProgramming Methodology
Iwsm2014 application of function points to software based on open source - ...
Iwsm2014   application of function points to software based on open source - ...Iwsm2014   application of function points to software based on open source - ...
Iwsm2014 application of function points to software based on open source - ...
Nesma
 
ASSIGNMENT
ASSIGNMENTASSIGNMENT
ASSIGNMENT
Simranjeet Kaur
 
DTCP2023 Fundamentals of Programming
DTCP2023 Fundamentals of ProgrammingDTCP2023 Fundamentals of Programming
DTCP2023 Fundamentals of Programming
Khirulnizam Abd Rahman
 
Clotho: Saving Programs from Malformed Strings and Incorrect String-handling
Clotho: Saving Programs from Malformed Strings and Incorrect String-handling�Clotho: Saving Programs from Malformed Strings and Incorrect String-handling�
Clotho: Saving Programs from Malformed Strings and Incorrect String-handling
Cybersecurity Education and Research Centre
 

What's hot (20)

Lecture 1 what_is_programming_language
Lecture 1 what_is_programming_languageLecture 1 what_is_programming_language
Lecture 1 what_is_programming_language
 
(D 15 180770107240)
(D 15 180770107240)(D 15 180770107240)
(D 15 180770107240)
 
How c/c++ works
How c/c++ worksHow c/c++ works
How c/c++ works
 
Rrd methodology
Rrd methodologyRrd methodology
Rrd methodology
 
Types of errors
Types of errorsTypes of errors
Types of errors
 
Debugging and optimization of multi-thread OpenMP-programs
Debugging and optimization of multi-thread OpenMP-programsDebugging and optimization of multi-thread OpenMP-programs
Debugging and optimization of multi-thread OpenMP-programs
 
18CSS101J PROGRAMMING FOR PROBLEM SOLVING
18CSS101J PROGRAMMING FOR PROBLEM SOLVING18CSS101J PROGRAMMING FOR PROBLEM SOLVING
18CSS101J PROGRAMMING FOR PROBLEM SOLVING
 
Introduction to Computer and Programing - Lab2
Introduction to Computer and Programing - Lab2Introduction to Computer and Programing - Lab2
Introduction to Computer and Programing - Lab2
 
Program Oktober Ceria untuk Public Training AS/400 Programming
Program Oktober Ceria untuk Public Training  AS/400 Programming Program Oktober Ceria untuk Public Training  AS/400 Programming
Program Oktober Ceria untuk Public Training AS/400 Programming
 
Resume
ResumeResume
Resume
 
What is programming what are its benefits
What is programming  what are its benefits What is programming  what are its benefits
What is programming what are its benefits
 
Public Training RPG IV (free format) Programming Workshop for System i from B...
Public Training RPG IV (free format) Programming Workshop for System i from B...Public Training RPG IV (free format) Programming Workshop for System i from B...
Public Training RPG IV (free format) Programming Workshop for System i from B...
 
Python Programming | Star Certification
Python  Programming | Star CertificationPython  Programming | Star Certification
Python Programming | Star Certification
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
notes on Programming fundamentals
notes on Programming fundamentals notes on Programming fundamentals
notes on Programming fundamentals
 
Programming Methodology
Programming MethodologyProgramming Methodology
Programming Methodology
 
Iwsm2014 application of function points to software based on open source - ...
Iwsm2014   application of function points to software based on open source - ...Iwsm2014   application of function points to software based on open source - ...
Iwsm2014 application of function points to software based on open source - ...
 
ASSIGNMENT
ASSIGNMENTASSIGNMENT
ASSIGNMENT
 
DTCP2023 Fundamentals of Programming
DTCP2023 Fundamentals of ProgrammingDTCP2023 Fundamentals of Programming
DTCP2023 Fundamentals of Programming
 
Clotho: Saving Programs from Malformed Strings and Incorrect String-handling
Clotho: Saving Programs from Malformed Strings and Incorrect String-handling�Clotho: Saving Programs from Malformed Strings and Incorrect String-handling�
Clotho: Saving Programs from Malformed Strings and Incorrect String-handling
 

Similar to Towards Developing a Repository of Logical Errors Observed in Parallel Code to Teach Code Correctness

Code metrics in PHP
Code metrics in PHPCode metrics in PHP
Code metrics in PHP
Julio Martinez
 
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind-slides
 
W1-Intro to python.pptx
W1-Intro to python.pptxW1-Intro to python.pptx
W1-Intro to python.pptx
NaziaPerwaiz2
 
Review Paper on Online Java Compiler
Review Paper on Online Java CompilerReview Paper on Online Java Compiler
Review Paper on Online Java Compiler
IRJET Journal
 
Intro. to prog. c++
Intro. to prog. c++Intro. to prog. c++
Intro. to prog. c++
KurdGul
 
Notacd081
Notacd081Notacd081
Notacd081
cikgushaharizan
 
Recent Trends in Translation of Programming Languages using NLP Approaches
Recent Trends in Translation of Programming Languages using NLP ApproachesRecent Trends in Translation of Programming Languages using NLP Approaches
Recent Trends in Translation of Programming Languages using NLP Approaches
IRJET Journal
 
Database API Viewed as a Mathematical Function, Insights into Testing
Database API Viewed as a Mathematical Function, Insights into TestingDatabase API Viewed as a Mathematical Function, Insights into Testing
Database API Viewed as a Mathematical Function, Insights into Testing
Brendan Furey
 
IRJET- Online Programming Assessment and Evaluation Platform in Education System
IRJET- Online Programming Assessment and Evaluation Platform in Education SystemIRJET- Online Programming Assessment and Evaluation Platform in Education System
IRJET- Online Programming Assessment and Evaluation Platform in Education System
IRJET Journal
 
resume
resumeresume
Programming part2
Programming part2Programming part2
Programming part2
zakri zakaria
 
CPCS202_01_Introduction.pptx
CPCS202_01_Introduction.pptxCPCS202_01_Introduction.pptx
CPCS202_01_Introduction.pptx
batol1998g
 
Algorithms and Application Programming
Algorithms and Application ProgrammingAlgorithms and Application Programming
Algorithms and Application Programming
ahaleemsl
 
Ijetcas14 533
Ijetcas14 533Ijetcas14 533
Ijetcas14 533
Iasir Journals
 
“Full-stack developer: з чого розпочати кар’єру?”
 “Full-stack developer: з чого розпочати кар’єру?”  “Full-stack developer: з чого розпочати кар’єру?”
“Full-stack developer: з чого розпочати кар’єру?”
GlobalLogic Ukraine
 
Notacd08
Notacd08Notacd08
Notacd08
Azmiah Mahmud
 
How Parallelware technology eases HPC software development for POWER systems
How Parallelware technology eases  HPC software development for  POWER systemsHow Parallelware technology eases  HPC software development for  POWER systems
How Parallelware technology eases HPC software development for POWER systems
Ganesan Narayanasamy
 
Module 1 2 just basic-
Module 1 2  just basic-Module 1 2  just basic-
Module 1 2 just basic-
Shanmugam Thiagoo
 
Module 201 2 20 just 20 basic
Module 201   2  20  just 20 basic Module 201   2  20  just 20 basic
Module 201 2 20 just 20 basic
Nick Racers
 
SSI Poster
SSI PosterSSI Poster
SSI Poster
Shehan Rajapakse
 

Similar to Towards Developing a Repository of Logical Errors Observed in Parallel Code to Teach Code Correctness (20)

Code metrics in PHP
Code metrics in PHPCode metrics in PHP
Code metrics in PHP
 
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
 
W1-Intro to python.pptx
W1-Intro to python.pptxW1-Intro to python.pptx
W1-Intro to python.pptx
 
Review Paper on Online Java Compiler
Review Paper on Online Java CompilerReview Paper on Online Java Compiler
Review Paper on Online Java Compiler
 
Intro. to prog. c++
Intro. to prog. c++Intro. to prog. c++
Intro. to prog. c++
 
Notacd081
Notacd081Notacd081
Notacd081
 
Recent Trends in Translation of Programming Languages using NLP Approaches
Recent Trends in Translation of Programming Languages using NLP ApproachesRecent Trends in Translation of Programming Languages using NLP Approaches
Recent Trends in Translation of Programming Languages using NLP Approaches
 
Database API Viewed as a Mathematical Function, Insights into Testing
Database API Viewed as a Mathematical Function, Insights into TestingDatabase API Viewed as a Mathematical Function, Insights into Testing
Database API Viewed as a Mathematical Function, Insights into Testing
 
IRJET- Online Programming Assessment and Evaluation Platform in Education System
IRJET- Online Programming Assessment and Evaluation Platform in Education SystemIRJET- Online Programming Assessment and Evaluation Platform in Education System
IRJET- Online Programming Assessment and Evaluation Platform in Education System
 
resume
resumeresume
resume
 
Programming part2
Programming part2Programming part2
Programming part2
 
CPCS202_01_Introduction.pptx
CPCS202_01_Introduction.pptxCPCS202_01_Introduction.pptx
CPCS202_01_Introduction.pptx
 
Algorithms and Application Programming
Algorithms and Application ProgrammingAlgorithms and Application Programming
Algorithms and Application Programming
 
Ijetcas14 533
Ijetcas14 533Ijetcas14 533
Ijetcas14 533
 
“Full-stack developer: з чого розпочати кар’єру?”
 “Full-stack developer: з чого розпочати кар’єру?”  “Full-stack developer: з чого розпочати кар’єру?”
“Full-stack developer: з чого розпочати кар’єру?”
 
Notacd08
Notacd08Notacd08
Notacd08
 
How Parallelware technology eases HPC software development for POWER systems
How Parallelware technology eases  HPC software development for  POWER systemsHow Parallelware technology eases  HPC software development for  POWER systems
How Parallelware technology eases HPC software development for POWER systems
 
Module 1 2 just basic-
Module 1 2  just basic-Module 1 2  just basic-
Module 1 2 just basic-
 
Module 201 2 20 just 20 basic
Module 201   2  20  just 20 basic Module 201   2  20  just 20 basic
Module 201 2 20 just 20 basic
 
SSI Poster
SSI PosterSSI Poster
SSI Poster
 

Recently uploaded

Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
RitikBhardwaj56
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
sayalidalavi006
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
heathfieldcps1
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
chanes7
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
ak6969907
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 

Recently uploaded (20)

Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 

Towards Developing a Repository of Logical Errors Observed in Parallel Code to Teach Code Correctness

  • 1. PRESENTED BY: Towards Developing a Repository of Logical Errors Observed in Parallel Code to Teach Code Correctness EduHPC 2018 workshop @SC18 November 11, 2018 Trung Nguyen Ba: tnguyenba@cs.umass.edu Ritu Arora: rauta@tacc.utexas.edu
  • 2. Challenges in parallel programming for beginners It can be very hard to test and debug parallel programs 2
  • 3. IPT
  • 5. Logical error repository Errors Internal Sources Stack Overflow ( Students, developers etc.) Repository MPI tags OpenMP tags CUDA tags 5
  • 6. Examples of the bug and its tag MPI: Incorrect initialization of variables Parallel Program (with logical error) Parallel Program (fixed) int range = 100/size; int start = rank*range; int end = start + range; int sum = 1; for(int i=start;i < end;i++) { sum +=1; } int recv = 0; MPI_Allreduce(&sum,&recv,1,MPI_INT ,MPI_SUM, MPI_COMM_WORLD); sum = recv; int range = 100/size; int start = rank*range; int end = start + range; int sum = (rank==0)? 1: 0; for(int i=start;i < end;i++) { sum +=1; } int recv = 0; MPI_Allreduce(&sum,&recv,1,MPI_INT, MPI_SUM, MPI_COMM_WORLD); sum = recv; 6
  • 7. Each logical error contains Buggy version Fixed version Instructions for compile and run Explanation 7
  • 8. How can people use this repository ? Source code from the github Quizzes on the logical errors Logical error reproducibility for experimenting ● https://github.com/ritua2/IPT/tree/master/bug-patterns/Quizzes ● https://github.com/ritua2/IPT/tree/master/bug-patterns ● Instructions on how to recreate the logical errors for learning or analyses ○ Note: not guaranteed for non-deterministic errors 8
  • 9. Example of questions in the quizzes Text version Online version 9
  • 10. Evaluation of our work Relevance test Usefulness test ● Will it help people in avoiding the errors in the future by seeing them in the repository? ● How easy do people miss these errors ? 10
  • 11. Command line API Web interface Parallel Programing Model and Tag (# errors) Repository MPI OpenMP CUDA MPI tags OpenMP tags CUDA tags User provides Send to process Result returned Result returned Web-Enabled Repository of Errors 11
  • 12. What next ? Repository of errors in parallel programs Database of errors in parallel programs Error Internal Sources Stack Overflow ( Students, developers etc.) Error Internal Sources Stack Overflow ( Students, developers etc.) Real-world projects 12
  • 13. Logical error submission Web Service Submission Format 13
  • 14. Conclusion ● We have started building a repository of logical errors for helping students in learning parallel programming ● Repository usage: ○ Download source code from the repo ○ Use the quizzes ○ Reproduce the bugs ● We are collecting data to evaluate the repository for relevance and usefulness 14
  • 15. Acknowledgement The work presented in this paper was made possible through the National Science Foundation (NSF) award number 1642396. 15
  • 16. Thanks! Any questions, comments, concerns? Contact: Ritu Arora: rauta@tacc.utexas.edu Trung Nguyen Ba: tnguyenba@cs.umass.edu 16