SlideShare una empresa de Scribd logo
1 de 6
Finding Help with Programming Errors: An Exploratory Study
of Novice Software Engineers’ Focus in Stack Overflow Posts
Preetha Chatterjee Minji Kong Lori Pollock
Journal of Systems and Software (JSS), Volume 159, Jan 2020
Asst. Prof.
[Fall ’21]
Ph.D.
Stack Overflow Usage: Statistics and Challenges
40% participants are novice programmers (< 5 yrs experience)
who struggle to find relevant information from a Stack Overflow post!!
Information Overload:
The top 5 Stack Overflow
questions for a sample
query “Differences
Hashmap Hashtable Java”,
consist of 51 answers
which have 6,771 words in
total [Xu et. al. 2017]
https://insights.stackoverflow.com/survey/2020
We aim to understand:
How novice software engineers direct their efforts and what kinds of
information they focus on within a Stack Overflow post
Study Design
RQ1. Challenges - What slows a
novice software engineer down in
identifying the solution most
appropriate for their problem?
RQ2. Focus - Which parts of a post
novice software engineers focus on to
reduce their time in locating
information?
RQ1 Findings: Developer Challenges
Survey
Question
69% participants indicated “Too much text containing unnecessary details”
51% participants indicated “Determining embedded code segment relevance”
39% indicated “Too much code containing unnecessary details”
Question Title: Polymorphism in Java error: cannot find Symbol
I've just started learning object oriented programming from the book head first java.
It said that polymorphism enables me to create an array of the superclass type and
then have all the subclasses as the array elements.
But when I tried writing code using the same principles it ran into error saying error:
cannot find symbol I made the classes the superclass was animal and the dog class
extended the animal class having a fetch method of its own, but when I referenced
the dog variable as animal it did not work here is the code
…
The error
tester.java:4: error: cannot find symbol doggie.fetch();
symbol: method fetch()
location: variable doggie of type animal
When using polymorphism, if you create an instance of the subclass and store its
reference in a variable of superclass type, you can only call those methods on the
newly created instance which are present in the super class.
In your code, you created an instance of dog class and stored its reference
in doggie which is of type animal (super class of dog), In such case, you can't call any
method on dog class instance that isn't available in animal class. fetch method is not
defined in the animal class hence you get the error.
Either define the fetch method in the animal class
OR Change animal doggie = new dog(); to dog doggie = new dog();
Developer’s Goal
Developer’s Pertinent
Action
System Symptom
Accepted Answer
Symptom Cause
Posted Solution
Solution Justification
RQ2 Findings: Developer Focus
• Too much text including unnecessary
details (69%)
• Determining embedded code segment
relevance (51%)
• Too much code including unnecessary
details (39%)
Developer’s Goal
Developer’s Pertinent Action
System Symptom
Symptom Cause
Posted Solution
Solution Justification
Novice software engineers pay attention to only 27% code and 15-21% of text in a SO post!
@PreethaChatterj
preethac@udel.edu sites.udel.edu/preethac/
Significance:
 improve the Q&A forum interface
 guide tools for mining forums
 improve granularity of traceability mappings involving forum posts
Paper link: https://doi.org/10.1016/j.jss.2019.110454
Summary and Overview
RQ1. Challenges - What slows a
novice software engineer down in
identifying the solution most
appropriate for their problem?
RQ2. Focus - Which parts of a post
novice software engineers focus on to
reduce their time in locating
information?

Más contenido relacionado

La actualidad más candente

A Hierarchical Model of Reviews for Aspect-based Sentiment Analysis
A Hierarchical Model of Reviews for Aspect-based Sentiment AnalysisA Hierarchical Model of Reviews for Aspect-based Sentiment Analysis
A Hierarchical Model of Reviews for Aspect-based Sentiment AnalysisSebastian Ruder
 
Building a Dynamic Bidding system for a location based Display advertising Pl...
Building a Dynamic Bidding system for a location based Display advertising Pl...Building a Dynamic Bidding system for a location based Display advertising Pl...
Building a Dynamic Bidding system for a location based Display advertising Pl...Ekta Grover
 
Summarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSummarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSebastiano Panichella
 
Supporting program comprehension with source code summarization
Supporting program comprehension with source code summarizationSupporting program comprehension with source code summarization
Supporting program comprehension with source code summarizationMasud Rahman
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Intro to programing with java-lecture 1
Intro to programing with java-lecture 1Intro to programing with java-lecture 1
Intro to programing with java-lecture 1Mohamed Essam
 
Improving VIVO search through semantic ranking.
Improving VIVO search through semantic ranking.Improving VIVO search through semantic ranking.
Improving VIVO search through semantic ranking.Deepak K
 
Understanding Log Lines using Development Knowledge
Understanding Log Lines using Development KnowledgeUnderstanding Log Lines using Development Knowledge
Understanding Log Lines using Development KnowledgeSAIL_QU
 
Mining Stack Overflow to Tun the IDE into a Self-confident Programming Prompter
Mining Stack Overflow to Tun the IDE into a Self-confident Programming PrompterMining Stack Overflow to Tun the IDE into a Self-confident Programming Prompter
Mining Stack Overflow to Tun the IDE into a Self-confident Programming PrompterLuca Ponzanelli
 
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckHotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckTao Xie
 
Can Deep Learning solve the Sentiment Analysis Problem
Can Deep Learning solve the Sentiment Analysis ProblemCan Deep Learning solve the Sentiment Analysis Problem
Can Deep Learning solve the Sentiment Analysis ProblemMark Cieliebak
 
Sentiment analyzer and opinion mining
Sentiment analyzer and opinion miningSentiment analyzer and opinion mining
Sentiment analyzer and opinion miningAnkush Mehta
 
2. introduction to compiler
2. introduction to compiler2. introduction to compiler
2. introduction to compilerSaeed Parsa
 
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs DocumentationDRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs DocumentationSebastiano Panichella
 
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...Debdoot Mukherjee
 
On the Distribution of Test Smells in Open Source Android Applications: An Ex...
On the Distribution of Test Smells in Open Source Android Applications: An Ex...On the Distribution of Test Smells in Open Source Android Applications: An Ex...
On the Distribution of Test Smells in Open Source Android Applications: An Ex...University of Hawai‘i at Mānoa
 
Semantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/SolrSemantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/SolrTrey Grainger
 

La actualidad más candente (20)

A Hierarchical Model of Reviews for Aspect-based Sentiment Analysis
A Hierarchical Model of Reviews for Aspect-based Sentiment AnalysisA Hierarchical Model of Reviews for Aspect-based Sentiment Analysis
A Hierarchical Model of Reviews for Aspect-based Sentiment Analysis
 
Building a Dynamic Bidding system for a location based Display advertising Pl...
Building a Dynamic Bidding system for a location based Display advertising Pl...Building a Dynamic Bidding system for a location based Display advertising Pl...
Building a Dynamic Bidding system for a location based Display advertising Pl...
 
Summarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSummarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and Testing
 
Extracting keywords from texts - Sanda Martincic Ipsic
Extracting keywords from texts - Sanda Martincic IpsicExtracting keywords from texts - Sanda Martincic Ipsic
Extracting keywords from texts - Sanda Martincic Ipsic
 
Supporting program comprehension with source code summarization
Supporting program comprehension with source code summarizationSupporting program comprehension with source code summarization
Supporting program comprehension with source code summarization
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Intro to programing with java-lecture 1
Intro to programing with java-lecture 1Intro to programing with java-lecture 1
Intro to programing with java-lecture 1
 
Improving VIVO search through semantic ranking.
Improving VIVO search through semantic ranking.Improving VIVO search through semantic ranking.
Improving VIVO search through semantic ranking.
 
Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)
 
Understanding Log Lines using Development Knowledge
Understanding Log Lines using Development KnowledgeUnderstanding Log Lines using Development Knowledge
Understanding Log Lines using Development Knowledge
 
Mining Stack Overflow to Tun the IDE into a Self-confident Programming Prompter
Mining Stack Overflow to Tun the IDE into a Self-confident Programming PrompterMining Stack Overflow to Tun the IDE into a Self-confident Programming Prompter
Mining Stack Overflow to Tun the IDE into a Self-confident Programming Prompter
 
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckHotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
 
Can Deep Learning solve the Sentiment Analysis Problem
Can Deep Learning solve the Sentiment Analysis ProblemCan Deep Learning solve the Sentiment Analysis Problem
Can Deep Learning solve the Sentiment Analysis Problem
 
Sentiment analyzer and opinion mining
Sentiment analyzer and opinion miningSentiment analyzer and opinion mining
Sentiment analyzer and opinion mining
 
2. introduction to compiler
2. introduction to compiler2. introduction to compiler
2. introduction to compiler
 
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs DocumentationDRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
 
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
 
On the Distribution of Test Smells in Open Source Android Applications: An Ex...
On the Distribution of Test Smells in Open Source Android Applications: An Ex...On the Distribution of Test Smells in Open Source Android Applications: An Ex...
On the Distribution of Test Smells in Open Source Android Applications: An Ex...
 
Semantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/SolrSemantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/Solr
 
Vivo Search
Vivo SearchVivo Search
Vivo Search
 

Similar a Finding Help with Programming Errors: An Exploratory Study of Novice Software Engineers’ Focus in Stack Overflow Posts

Automatic Identification of Informative Code in Stack Overflow Posts
Automatic Identification of Informative Code in Stack Overflow PostsAutomatic Identification of Informative Code in Stack Overflow Posts
Automatic Identification of Informative Code in Stack Overflow PostsPreetha Chatterjee
 
The Java Learning Kit Chapter 5 – Methods and Modular.docx
The Java Learning Kit Chapter 5 – Methods and Modular.docxThe Java Learning Kit Chapter 5 – Methods and Modular.docx
The Java Learning Kit Chapter 5 – Methods and Modular.docxarnoldmeredith47041
 
25 php interview questions – codementor
25 php interview questions – codementor25 php interview questions – codementor
25 php interview questions – codementorArc & Codementor
 
Ch 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. Distinguish between a purpose statement, research pCh 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. Distinguish between a purpose statement, research pMaximaSheffield592
 
Ch 6 only 1. distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research pCh 6 only 1. distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research pnand15
 
Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual Abdul Hannan
 
Roman Sevastyanov "Рефакторинг - пути улучшения кода"
Roman Sevastyanov "Рефакторинг - пути улучшения кода"Roman Sevastyanov "Рефакторинг - пути улучшения кода"
Roman Sevastyanov "Рефакторинг - пути улучшения кода"Fwdays
 
QUESTION ANALYSIS FOR ARABIC QUESTION ANSWERING SYSTEMS
QUESTION ANALYSIS FOR ARABIC QUESTION ANSWERING SYSTEMS QUESTION ANALYSIS FOR ARABIC QUESTION ANSWERING SYSTEMS
QUESTION ANALYSIS FOR ARABIC QUESTION ANSWERING SYSTEMS ijnlc
 
Search Solutions 2015: Towards a new model of search relevance testing
Search Solutions 2015:  Towards a new model of search relevance testingSearch Solutions 2015:  Towards a new model of search relevance testing
Search Solutions 2015: Towards a new model of search relevance testingCharlie Hull
 
Few minutes To better Code - Refactoring
Few minutes To better Code - RefactoringFew minutes To better Code - Refactoring
Few minutes To better Code - RefactoringDiaa Al-Salehi
 
IRJET- Semantic Question Matching
IRJET- Semantic Question MatchingIRJET- Semantic Question Matching
IRJET- Semantic Question MatchingIRJET Journal
 
Accelerate the ROI of PHP in your Enterprise
	Accelerate the ROI of PHP in your Enterprise	Accelerate the ROI of PHP in your Enterprise
Accelerate the ROI of PHP in your EnterpriseEnterprise PHP Center
 
Getting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataGetting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataCory Foy
 
Week 6 Creating Bibliographies and Practicing MLA Citation
  Week 6 Creating Bibliographies and Practicing MLA Citation   Week 6 Creating Bibliographies and Practicing MLA Citation
Week 6 Creating Bibliographies and Practicing MLA Citation ajoy21
 

Similar a Finding Help with Programming Errors: An Exploratory Study of Novice Software Engineers’ Focus in Stack Overflow Posts (20)

Automatic Identification of Informative Code in Stack Overflow Posts
Automatic Identification of Informative Code in Stack Overflow PostsAutomatic Identification of Informative Code in Stack Overflow Posts
Automatic Identification of Informative Code in Stack Overflow Posts
 
The Java Learning Kit Chapter 5 – Methods and Modular.docx
The Java Learning Kit Chapter 5 – Methods and Modular.docxThe Java Learning Kit Chapter 5 – Methods and Modular.docx
The Java Learning Kit Chapter 5 – Methods and Modular.docx
 
25 php interview questions – codementor
25 php interview questions – codementor25 php interview questions – codementor
25 php interview questions – codementor
 
Ch 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. Distinguish between a purpose statement, research pCh 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. Distinguish between a purpose statement, research p
 
Ch 6 only 1. distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research pCh 6 only 1. distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research p
 
Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual
 
Roman Sevastyanov "Рефакторинг - пути улучшения кода"
Roman Sevastyanov "Рефакторинг - пути улучшения кода"Roman Sevastyanov "Рефакторинг - пути улучшения кода"
Roman Sevastyanov "Рефакторинг - пути улучшения кода"
 
QUESTION ANALYSIS FOR ARABIC QUESTION ANSWERING SYSTEMS
QUESTION ANALYSIS FOR ARABIC QUESTION ANSWERING SYSTEMS QUESTION ANALYSIS FOR ARABIC QUESTION ANSWERING SYSTEMS
QUESTION ANALYSIS FOR ARABIC QUESTION ANSWERING SYSTEMS
 
Search Solutions 2015: Towards a new model of search relevance testing
Search Solutions 2015:  Towards a new model of search relevance testingSearch Solutions 2015:  Towards a new model of search relevance testing
Search Solutions 2015: Towards a new model of search relevance testing
 
Cser13.ppt
Cser13.pptCser13.ppt
Cser13.ppt
 
Few minutes To better Code - Refactoring
Few minutes To better Code - RefactoringFew minutes To better Code - Refactoring
Few minutes To better Code - Refactoring
 
IRJET- Semantic Question Matching
IRJET- Semantic Question MatchingIRJET- Semantic Question Matching
IRJET- Semantic Question Matching
 
Accelerate the ROI of PHP in your Enterprise
	Accelerate the ROI of PHP in your Enterprise	Accelerate the ROI of PHP in your Enterprise
Accelerate the ROI of PHP in your Enterprise
 
Code review
Code reviewCode review
Code review
 
Reduce Reuse Refactor
Reduce Reuse RefactorReduce Reuse Refactor
Reduce Reuse Refactor
 
Getting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataGetting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and Data
 
Sanjay resume
Sanjay resumeSanjay resume
Sanjay resume
 
Untangling6
Untangling6Untangling6
Untangling6
 
Week 6 Creating Bibliographies and Practicing MLA Citation
  Week 6 Creating Bibliographies and Practicing MLA Citation   Week 6 Creating Bibliographies and Practicing MLA Citation
Week 6 Creating Bibliographies and Practicing MLA Citation
 
interviewbit.pdf
interviewbit.pdfinterviewbit.pdf
interviewbit.pdf
 

Último

Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 

Último (20)

Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 

Finding Help with Programming Errors: An Exploratory Study of Novice Software Engineers’ Focus in Stack Overflow Posts

  • 1. Finding Help with Programming Errors: An Exploratory Study of Novice Software Engineers’ Focus in Stack Overflow Posts Preetha Chatterjee Minji Kong Lori Pollock Journal of Systems and Software (JSS), Volume 159, Jan 2020 Asst. Prof. [Fall ’21] Ph.D.
  • 2. Stack Overflow Usage: Statistics and Challenges 40% participants are novice programmers (< 5 yrs experience) who struggle to find relevant information from a Stack Overflow post!! Information Overload: The top 5 Stack Overflow questions for a sample query “Differences Hashmap Hashtable Java”, consist of 51 answers which have 6,771 words in total [Xu et. al. 2017] https://insights.stackoverflow.com/survey/2020 We aim to understand: How novice software engineers direct their efforts and what kinds of information they focus on within a Stack Overflow post
  • 3. Study Design RQ1. Challenges - What slows a novice software engineer down in identifying the solution most appropriate for their problem? RQ2. Focus - Which parts of a post novice software engineers focus on to reduce their time in locating information?
  • 4. RQ1 Findings: Developer Challenges Survey Question 69% participants indicated “Too much text containing unnecessary details” 51% participants indicated “Determining embedded code segment relevance” 39% indicated “Too much code containing unnecessary details”
  • 5. Question Title: Polymorphism in Java error: cannot find Symbol I've just started learning object oriented programming from the book head first java. It said that polymorphism enables me to create an array of the superclass type and then have all the subclasses as the array elements. But when I tried writing code using the same principles it ran into error saying error: cannot find symbol I made the classes the superclass was animal and the dog class extended the animal class having a fetch method of its own, but when I referenced the dog variable as animal it did not work here is the code … The error tester.java:4: error: cannot find symbol doggie.fetch(); symbol: method fetch() location: variable doggie of type animal When using polymorphism, if you create an instance of the subclass and store its reference in a variable of superclass type, you can only call those methods on the newly created instance which are present in the super class. In your code, you created an instance of dog class and stored its reference in doggie which is of type animal (super class of dog), In such case, you can't call any method on dog class instance that isn't available in animal class. fetch method is not defined in the animal class hence you get the error. Either define the fetch method in the animal class OR Change animal doggie = new dog(); to dog doggie = new dog(); Developer’s Goal Developer’s Pertinent Action System Symptom Accepted Answer Symptom Cause Posted Solution Solution Justification RQ2 Findings: Developer Focus
  • 6. • Too much text including unnecessary details (69%) • Determining embedded code segment relevance (51%) • Too much code including unnecessary details (39%) Developer’s Goal Developer’s Pertinent Action System Symptom Symptom Cause Posted Solution Solution Justification Novice software engineers pay attention to only 27% code and 15-21% of text in a SO post! @PreethaChatterj preethac@udel.edu sites.udel.edu/preethac/ Significance:  improve the Q&A forum interface  guide tools for mining forums  improve granularity of traceability mappings involving forum posts Paper link: https://doi.org/10.1016/j.jss.2019.110454 Summary and Overview RQ1. Challenges - What slows a novice software engineer down in identifying the solution most appropriate for their problem? RQ2. Focus - Which parts of a post novice software engineers focus on to reduce their time in locating information?

Notas del editor

  1. The recent Stack Overflow survey shows that 40% participants are novice programmers i.e. people with less than 5 years of coding experience. SO often contain long threads of discussions. A previous study suggests that reading answers of a popular SO post could take about 30 minutes!! Because of this information overload, Finding help from SO is especially difficult for novice software engineers. We conducted an exploratory study to understand how novice software engineers direct their efforts and what kinds of information they focus on within a post.
  2. Specifically, our exploratory case study answers 2 research questions: To answer RQ1, we conducted a survey to gather novice software engineers’ perceptions of what slows them down in their Stack Overflow usage. For (RQ2) the software engineers first annotated 400 Stack Overflow posts to indicate what they would recommend to highlight to focus attention. Then, we analyzed their annotations, to gain more insight into their recommendations.
  3. Findings from RQ1 suggest that, majority of participants indicated the obstacles of “Too much text containing unnecessary details”, followed by “Determining embedded code segment relevance”, and “Too much code containing unnecessary details”.
  4. The results from RQ2 discern the kinds of information prominent in the developers’ focus. In the question we find the: Developers’ Goal: or their intended outcome. Developer’s Pertinent Action: that led to the error. Observed system response to the developer’s action. In the answer we find the: cause of the error. Suggested approach to fix the error. Reason why the suggested Solution works.
  5. The results from this study can be leveraged to guide tools for mining forums, and improve granularity of traceability mappings involving forum posts.