SlideShare a Scribd company logo
1 of 24
Download to read offline
Thomas Fritz*, Andrew Begel°, 

Sebastian C. Müller*, 

Serap Yigit-Elliott†, and Manuela Züger*"
* University of Zurich, Switzerland"
° Microsoft Research, USA"
† Exponent, USA"
using	
  Graphics;	
  
	
  
namespace	
  Study	
  {	
  
	
  	
  	
  public	
  class	
  Drawing	
  {	
  
	
  	
  	
  	
  	
  	
  public	
  static	
  void	
  Main(string[]	
  args)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Circle	
  c	
  	
  	
  	
  =	
  new	
  Circle();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Triangle	
  t1	
  =	
  new	
  Triangle();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Square	
  s	
  	
  	
  	
  =	
  new	
  Square();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Triangle	
  t2	
  =	
  new	
  Triangle();	
  
	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(t2);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(t1);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(c);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(s);	
  	
  
	
  	
  	
   	
  }	
  
	
  	
  	
  }	
  
}	
  
using	
  Graphics;	
  
	
  
namespace	
  Study	
  {	
  
	
  	
  	
  public	
  class	
  Drawing	
  {	
  
	
  	
  	
  	
  	
  	
  public	
  static	
  void	
  Main(string[]	
  args)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Object	
  objectA	
  =	
  new	
  Circle();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Object	
  objectK	
  =	
  new	
  Circle();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Object	
  objectX	
  =	
  new	
  Square();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Object	
  objectB	
  =	
  new	
  Triangle();	
  
	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(objectX);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(objectA);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(objectB);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(objectK);	
  	
  
	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  }	
  
}	
  
2	
  
•  Several research areas tackle this question:"
•  CS Education"
•  Psychology of Programming"
•  Program Comprehension"
•  And its implications:"
•  Testing and Automatic Verification"
•  Code Reviews"
•  Mining Software Repositories"
" "
3	
  
•  Inspired by Lee et al. Micro interaction metrics for defect
prediction. FSE 2011."
•  Programmers’ cognitive and emotional states are affected by
their code and work environment, which ultimately affects their
software."
§  Some typical emotions: frustrated, surprised, proud."
•  Some signals of your body’s internal states:"
"
4	
  
Nervous System! Brainwaves, sweat"
Eyes! Pupil size, blink rate"
Muscles! Heart rate variability, typing pressure, grip on mouse"
Affect! Facial recognition"
1.  Can we correlate developers’ cognitive and emotional states
with their perception of task difficulty?"
2.  How well do these states predict long-term effects on
software (e.g. bugs, productivity)?"
When we detect that a developer is in the zone, we could
signal his teammates to delay non-critical interruptions."
We could refactor the cognitively difficult parts of the
codebase where developers lose the most productivity."
Armed with a task difficulty classifier, we could help stop
developers from making mistakes!"
"
5	
  
1. Can readings from psycho-physiological sensors (eye
tracking, EDA, EEG) accurately predict whether a task
is perceived to be difficult or easy?"
2. Which combination of sensors and features best
predict perceived difficulty?"
3. Can we use these measures to predict perceived
difficulty even as the developer works on the task?"
6	
  
7	
  
15 professional software developers"
8 tasks with various levels of difficulty"
3 psycho-physiological sensors"
8 task ratings and 1 ranking of all tasks"
•  Recruited from a pool of professional
developers in the greater Seattle area"
•  2+ years of professional SE experience"
•  Recently programmed in C#"
•  14 male, 1 female"
•  27 to 60 years old"
8	
  
8 Tasks:!
(2 types)"
Variations:"
Cognitive Abilities:"
2 overlap tasks"
2
1
4
3
6 drawing order tasks"
Variable names (mnemonic vs. obfuscated)"
Loops with various complexity"
Nested ?: operator"
Randomly-ordered field assignments"
Working memory"
Spatial relations"
Math and Logic"
9	
  
10	
  
using	
  Graphics;	
  
	
  
namespace	
  Study	
  {	
  
	
  	
  	
  class	
  Drawing	
  {	
  
	
  	
  	
  	
  	
  	
  public	
  static	
  void	
  Main(string[]	
  args)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Rectangle	
  t	
  =	
  new	
  Rectangle();	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  t.leftBottom	
  =	
  new	
  Point(2,2);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  t.leftTop	
  =	
  new	
  Point(2,6);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  t.rightTop	
  =	
  new	
  Point(6,6);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  t.rightBottom	
  =	
  new	
  Point(6,2);	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(t);	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Rectangle	
  s	
  =	
  new	
  Rectangle();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  s.leftTop	
  =	
  new	
  Point(11,5);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  s.leftBottom	
  =	
  new	
  Point(5,5);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  s.rightBottom	
  =	
  new	
  Point(5,9);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  s.rightTop	
  =	
  new	
  Point(11,9);	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(s);	
  	
  	
  	
  
	
  	
  	
  	
  	
  }	
  
}}	
  
	
  
Do these rectangles
overlap?"
11	
  
using	
  Graphics;	
  
	
  
namespace	
  Study	
  {	
  
	
  	
  	
  class	
  Drawing	
  {	
  
	
  	
  	
  	
  	
  	
  public	
  static	
  void	
  Main(string[]	
  args)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Rectangle	
  t	
  =	
  new	
  Rectangle();	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  t.leftBottom	
  =	
  new	
  Point(2,2);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  t.leftTop	
  =	
  new	
  Point(2,6);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  t.rightTop	
  =	
  new	
  Point(6,6);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  t.rightBottom	
  =	
  new	
  Point(6,2);	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(t);	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Rectangle	
  s	
  =	
  new	
  Rectangle();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  s.leftTop	
  =	
  new	
  Point(11,5);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  s.leftBottom	
  =	
  new	
  Point(5,5);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  s.rightBottom	
  =	
  new	
  Point(5,9);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  s.rightTop	
  =	
  new	
  Point(11,9);	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(s);	
  	
  	
  	
  
	
  	
  	
  	
  	
  }	
  
}}	
  
	
  
using	
  Graphics;	
  
	
  
namespace	
  Study	
  {	
  
	
  	
  	
  class	
  Drawing	
  {	
  
	
  	
  	
  	
  	
  	
  public	
  static	
  void	
  Main(string[]	
  args)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Rectangle	
  v	
  =	
  new	
  Rectangle();	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  v.leftTop	
  =	
  new	
  Point(1,8);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Rectangle	
  x	
  =	
  new	
  Rectangle();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  x.rightBottom	
  =	
  new	
  Point(13,3);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  x.rightTop	
  =	
  new	
  Point(13,10);	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  x.leftBottom	
  =	
  new	
  Point(7,3);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  v.rightTop	
  =	
  new	
  Point(3,8);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  x.leftTop	
  =	
  new	
  Point(7,10);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  v.rightBottom	
  =	
  new	
  Point(3,5);	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(x);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  v.leftBottom	
  =	
  new	
  Point(1,5);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  Graphics.draw(v);	
  	
  	
  	
  
	
  	
  	
  	
  	
  }	
  
}}	
  
	
  
Do these rectangles overlap?"
12	
  
Neurosky Mindband"
Q Affectiva 2.0"
Tobii TX300

Eye Tracker"
EEG

(Electroencephalogram)"
EDA

(Electro-dermal activity)"
Eye tracking" • code location"
• reading vs. scanning"
• cognitive load"
• general state of arousal"
• surprise"
• visual attention, mental
workload, etc."
• attention™, meditation™"
13	
  
• α, β, γ, δ, θ waves"
• eye blinks"
• attention, meditation"
• tonic signal (low freq)"
• phasic signal (high freq)"
• gaze location"
• fixations and saccades"
• pupil size"
1.  Recorded participants’ task completion times."
2.  After each task, participant filled out NASA Task
Load Index (TLX) survey."
3.  At end of study, participant ranked tasks by
relative difficulty (1 – 8)."
14	
  
15	
  
Data recording"
Feature extraction"
Data cleaning"
Naïve Bayes classifier"
Developers’ perceived
difficulty"
16	
  
Sliding time windows

(optional)"
•  Task difficulty metrics were highly correlated. "
•  NASA TLX vs. task difficulty ranking

Spearman: r[116] = 0.587, p < 0.01"
•  Task difficulty ranking vs. task completion time 

Spearman: r[116] = 0.724, p < 0.01"
•  We created simplified metrics by nominalizing NASA TLX
and task difficulty ranking into Boolean easy/difficult."
•  Correlation: Boolean NASA TLX score vs. Boolean task difficulty 

Chi2(1, 116) = 57.954, p < 0.01 (accuracy 85%)"
•  Triangulation between metrics helps validates our results."
17	
  
18	
  
45%	
  
55%	
  
65%	
  
75%	
  
85%	
  
95%	
  
Eye	
   EDA	
   EEG	
   Eye	
  +	
  
EDA	
  
Eye	
  +	
  
EEG	
  
EDA	
  +	
  
EEG	
  
Eye	
  +	
  
EDA	
  +	
  
EEG	
  
19	
  
45%	
  
55%	
  
65%	
  
75%	
  
85%	
  
95%	
  
5	
   10	
   15	
   20	
   25	
   30	
   35	
   40	
   45	
   50	
   55	
   60	
  
Sliding	
  Windows	
  Size	
  (sec)	
  
20	
  
21	
  
45%	
  
55%	
  
65%	
  
75%	
  
85%	
  
95%	
  
Eye	
   EDA	
   EEG	
   Eye	
  +	
  
EDA	
  
Eye	
  +	
  
EEG	
  
EDA	
  +	
  
EEG	
  
Eye	
  +	
  
EDA	
  +	
  
EEG	
  
45%	
  
55%	
  
65%	
  
75%	
  
85%	
  
95%	
  
5	
   10	
   15	
   20	
   25	
   30	
   35	
   40	
   45	
   50	
   55	
   60	
  
Sliding	
  Windows	
  Size	
  (sec)	
  
22	
  
23	
  
45%	
  
55%	
  
65%	
  
75%	
  
85%	
  
95%	
  
Eye	
   EDA	
   EEG	
   Eye	
  +	
  
EDA	
  
Eye	
  +	
  
EEG	
  
EDA	
  +	
  
EEG	
  
Eye	
  +	
  
EDA	
  +	
  
EEG	
   Sliding	
  Window	
  Size	
  (sec)	
  
45%	
  
55%	
  
65%	
  
75%	
  
85%	
  
95%	
  
5	
   10	
  15	
  20	
  25	
  30	
  35	
  40	
  45	
  50	
  55	
  60	
  
1. Can readings from psycho-physiological sensors (eye
tracking, EDA, EEG) accurately predict whether a task
is perceived to be difficult or easy?"
2. Which combination of sensors and features best
predict perceived difficulty?"
3. Can we use these measures to predict perceived
difficulty even as the developer works on the task?"
24	
  

More Related Content

Similar to Using psycho physiological sensors to assess task difficulty in software development

Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...
Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...
Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...Flink Forward
 
Computer Graphics in Java and Scala - Part 1
Computer Graphics in Java and Scala - Part 1Computer Graphics in Java and Scala - Part 1
Computer Graphics in Java and Scala - Part 1Philip Schwarz
 
Yoyak ScalaDays 2015
Yoyak ScalaDays 2015Yoyak ScalaDays 2015
Yoyak ScalaDays 2015ihji
 
Lumpkin Graphing functions
Lumpkin Graphing functionsLumpkin Graphing functions
Lumpkin Graphing functionsrenialumpkin
 
Honor's portfolio graphic organizer
Honor's portfolio graphic organizerHonor's portfolio graphic organizer
Honor's portfolio graphic organizerbbwilks
 
2Bytesprog2 course_2014_c1_sets
2Bytesprog2 course_2014_c1_sets2Bytesprog2 course_2014_c1_sets
2Bytesprog2 course_2014_c1_setskinan keshkeh
 
2Bytesprog2 course_2014_c1_sets
2Bytesprog2 course_2014_c1_sets2Bytesprog2 course_2014_c1_sets
2Bytesprog2 course_2014_c1_setskinan keshkeh
 
CLASS IX MATHS Coordinate geometry ppt
CLASS IX MATHS Coordinate geometry pptCLASS IX MATHS Coordinate geometry ppt
CLASS IX MATHS Coordinate geometry pptRc Os
 
coordinategeometryppt-180912064900.pptx
coordinategeometryppt-180912064900.pptxcoordinategeometryppt-180912064900.pptx
coordinategeometryppt-180912064900.pptxHARESH495023
 
Transformation.docx
Transformation.docxTransformation.docx
Transformation.docxguru1561
 
Declarative Datalog Debugging for Mere Mortals
Declarative Datalog Debugging for Mere MortalsDeclarative Datalog Debugging for Mere Mortals
Declarative Datalog Debugging for Mere MortalsBertram Ludäscher
 
Skiena algorithm 2007 lecture17 edit distance
Skiena algorithm 2007 lecture17 edit distanceSkiena algorithm 2007 lecture17 edit distance
Skiena algorithm 2007 lecture17 edit distancezukun
 
Excel macro for solving a polynomial equation
Excel macro for solving a polynomial equationExcel macro for solving a polynomial equation
Excel macro for solving a polynomial equationUpendra Lele
 
3D Math Primer: CocoaConf Atlanta
3D Math Primer: CocoaConf Atlanta3D Math Primer: CocoaConf Atlanta
3D Math Primer: CocoaConf AtlantaJanie Clayton
 
Lec 9 05_sept [compatibility mode]
Lec 9 05_sept [compatibility mode]Lec 9 05_sept [compatibility mode]
Lec 9 05_sept [compatibility mode]Palak Sanghani
 

Similar to Using psycho physiological sensors to assess task difficulty in software development (20)

Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...
Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...
Flink Forward Berlin 2017: David Rodriguez - The Approximate Filter, Join, an...
 
Mat lab
Mat labMat lab
Mat lab
 
Computer Graphics in Java and Scala - Part 1
Computer Graphics in Java and Scala - Part 1Computer Graphics in Java and Scala - Part 1
Computer Graphics in Java and Scala - Part 1
 
Yoyak ScalaDays 2015
Yoyak ScalaDays 2015Yoyak ScalaDays 2015
Yoyak ScalaDays 2015
 
Lumpkin Graphing functions
Lumpkin Graphing functionsLumpkin Graphing functions
Lumpkin Graphing functions
 
Honor's portfolio graphic organizer
Honor's portfolio graphic organizerHonor's portfolio graphic organizer
Honor's portfolio graphic organizer
 
Cs580
Cs580Cs580
Cs580
 
2Bytesprog2 course_2014_c1_sets
2Bytesprog2 course_2014_c1_sets2Bytesprog2 course_2014_c1_sets
2Bytesprog2 course_2014_c1_sets
 
2Bytesprog2 course_2014_c1_sets
2Bytesprog2 course_2014_c1_sets2Bytesprog2 course_2014_c1_sets
2Bytesprog2 course_2014_c1_sets
 
CLASS IX MATHS Coordinate geometry ppt
CLASS IX MATHS Coordinate geometry pptCLASS IX MATHS Coordinate geometry ppt
CLASS IX MATHS Coordinate geometry ppt
 
MATLABgraphPlotting.pptx
MATLABgraphPlotting.pptxMATLABgraphPlotting.pptx
MATLABgraphPlotting.pptx
 
coordinategeometryppt-180912064900.pptx
coordinategeometryppt-180912064900.pptxcoordinategeometryppt-180912064900.pptx
coordinategeometryppt-180912064900.pptx
 
Transformation.docx
Transformation.docxTransformation.docx
Transformation.docx
 
Graphing functions
Graphing functionsGraphing functions
Graphing functions
 
Declarative Datalog Debugging for Mere Mortals
Declarative Datalog Debugging for Mere MortalsDeclarative Datalog Debugging for Mere Mortals
Declarative Datalog Debugging for Mere Mortals
 
Skiena algorithm 2007 lecture17 edit distance
Skiena algorithm 2007 lecture17 edit distanceSkiena algorithm 2007 lecture17 edit distance
Skiena algorithm 2007 lecture17 edit distance
 
Excel macro for solving a polynomial equation
Excel macro for solving a polynomial equationExcel macro for solving a polynomial equation
Excel macro for solving a polynomial equation
 
R training5
R training5R training5
R training5
 
3D Math Primer: CocoaConf Atlanta
3D Math Primer: CocoaConf Atlanta3D Math Primer: CocoaConf Atlanta
3D Math Primer: CocoaConf Atlanta
 
Lec 9 05_sept [compatibility mode]
Lec 9 05_sept [compatibility mode]Lec 9 05_sept [compatibility mode]
Lec 9 05_sept [compatibility mode]
 

Recently uploaded

9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticssakshisoni2385
 
development of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virusdevelopment of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virusNazaninKarimi6
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsSérgio Sacani
 
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....muralinath2
 
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRLKochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRLkantirani197
 
Sector 62, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 62, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Zoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfZoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfSumit Kumar yadav
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bSérgio Sacani
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
module for grade 9 for distance learning
module for grade 9 for distance learningmodule for grade 9 for distance learning
module for grade 9 for distance learninglevieagacer
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryAlex Henderson
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfrohankumarsinghrore1
 
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Servicenishacall1
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Monika Rani
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPirithiRaju
 
Factory Acceptance Test( FAT).pptx .
Factory Acceptance Test( FAT).pptx       .Factory Acceptance Test( FAT).pptx       .
Factory Acceptance Test( FAT).pptx .Poonam Aher Patil
 
Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsOrtegaSyrineMay
 
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate ProfessorThyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate Professormuralinath2
 
Molecular markers- RFLP, RAPD, AFLP, SNP etc.
Molecular markers- RFLP, RAPD, AFLP, SNP etc.Molecular markers- RFLP, RAPD, AFLP, SNP etc.
Molecular markers- RFLP, RAPD, AFLP, SNP etc.Silpa
 

Recently uploaded (20)

9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 
development of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virusdevelopment of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virus
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
 
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
 
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRLKochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
 
Sector 62, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 62, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Zoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfZoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdf
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
module for grade 9 for distance learning
module for grade 9 for distance learningmodule for grade 9 for distance learning
module for grade 9 for distance learning
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
Factory Acceptance Test( FAT).pptx .
Factory Acceptance Test( FAT).pptx       .Factory Acceptance Test( FAT).pptx       .
Factory Acceptance Test( FAT).pptx .
 
Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its Functions
 
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate ProfessorThyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
 
Molecular markers- RFLP, RAPD, AFLP, SNP etc.
Molecular markers- RFLP, RAPD, AFLP, SNP etc.Molecular markers- RFLP, RAPD, AFLP, SNP etc.
Molecular markers- RFLP, RAPD, AFLP, SNP etc.
 

Using psycho physiological sensors to assess task difficulty in software development

  • 1. Thomas Fritz*, Andrew Begel°, 
 Sebastian C. Müller*, 
 Serap Yigit-Elliott†, and Manuela Züger*" * University of Zurich, Switzerland" ° Microsoft Research, USA" † Exponent, USA"
  • 2. using  Graphics;     namespace  Study  {        public  class  Drawing  {              public  static  void  Main(string[]  args)  {                    Circle  c        =  new  Circle();                    Triangle  t1  =  new  Triangle();                    Square  s        =  new  Square();                    Triangle  t2  =  new  Triangle();                                  Graphics.draw(t2);                    Graphics.draw(t1);                    Graphics.draw(c);                    Graphics.draw(s);            }        }   }   using  Graphics;     namespace  Study  {        public  class  Drawing  {              public  static  void  Main(string[]  args)  {                    Object  objectA  =  new  Circle();                    Object  objectK  =  new  Circle();                    Object  objectX  =  new  Square();                    Object  objectB  =  new  Triangle();                                  Graphics.draw(objectX);                    Graphics.draw(objectA);                    Graphics.draw(objectB);                    Graphics.draw(objectK);                }        }   }   2  
  • 3. •  Several research areas tackle this question:" •  CS Education" •  Psychology of Programming" •  Program Comprehension" •  And its implications:" •  Testing and Automatic Verification" •  Code Reviews" •  Mining Software Repositories" " " 3  
  • 4. •  Inspired by Lee et al. Micro interaction metrics for defect prediction. FSE 2011." •  Programmers’ cognitive and emotional states are affected by their code and work environment, which ultimately affects their software." §  Some typical emotions: frustrated, surprised, proud." •  Some signals of your body’s internal states:" " 4   Nervous System! Brainwaves, sweat" Eyes! Pupil size, blink rate" Muscles! Heart rate variability, typing pressure, grip on mouse" Affect! Facial recognition"
  • 5. 1.  Can we correlate developers’ cognitive and emotional states with their perception of task difficulty?" 2.  How well do these states predict long-term effects on software (e.g. bugs, productivity)?" When we detect that a developer is in the zone, we could signal his teammates to delay non-critical interruptions." We could refactor the cognitively difficult parts of the codebase where developers lose the most productivity." Armed with a task difficulty classifier, we could help stop developers from making mistakes!" " 5  
  • 6. 1. Can readings from psycho-physiological sensors (eye tracking, EDA, EEG) accurately predict whether a task is perceived to be difficult or easy?" 2. Which combination of sensors and features best predict perceived difficulty?" 3. Can we use these measures to predict perceived difficulty even as the developer works on the task?" 6  
  • 7. 7   15 professional software developers" 8 tasks with various levels of difficulty" 3 psycho-physiological sensors" 8 task ratings and 1 ranking of all tasks"
  • 8. •  Recruited from a pool of professional developers in the greater Seattle area" •  2+ years of professional SE experience" •  Recently programmed in C#" •  14 male, 1 female" •  27 to 60 years old" 8  
  • 9. 8 Tasks:! (2 types)" Variations:" Cognitive Abilities:" 2 overlap tasks" 2 1 4 3 6 drawing order tasks" Variable names (mnemonic vs. obfuscated)" Loops with various complexity" Nested ?: operator" Randomly-ordered field assignments" Working memory" Spatial relations" Math and Logic" 9  
  • 10. 10   using  Graphics;     namespace  Study  {        class  Drawing  {              public  static  void  Main(string[]  args)  {                    Rectangle  t  =  new  Rectangle();                                                                                                t.leftBottom  =  new  Point(2,2);                    t.leftTop  =  new  Point(2,6);                    t.rightTop  =  new  Point(6,6);                    t.rightBottom  =  new  Point(6,2);                                                          Graphics.draw(t);                      Rectangle  s  =  new  Rectangle();                    s.leftTop  =  new  Point(11,5);                    s.leftBottom  =  new  Point(5,5);                    s.rightBottom  =  new  Point(5,9);                    s.rightTop  =  new  Point(11,9);                                                                                                                          Graphics.draw(s);                  }   }}     Do these rectangles overlap?"
  • 11. 11   using  Graphics;     namespace  Study  {        class  Drawing  {              public  static  void  Main(string[]  args)  {                    Rectangle  t  =  new  Rectangle();                                                                                                t.leftBottom  =  new  Point(2,2);                    t.leftTop  =  new  Point(2,6);                    t.rightTop  =  new  Point(6,6);                    t.rightBottom  =  new  Point(6,2);                                                          Graphics.draw(t);                      Rectangle  s  =  new  Rectangle();                    s.leftTop  =  new  Point(11,5);                    s.leftBottom  =  new  Point(5,5);                    s.rightBottom  =  new  Point(5,9);                    s.rightTop  =  new  Point(11,9);                                                                                                                          Graphics.draw(s);                  }   }}     using  Graphics;     namespace  Study  {        class  Drawing  {              public  static  void  Main(string[]  args)  {                    Rectangle  v  =  new  Rectangle();                                            v.leftTop  =  new  Point(1,8);                    Rectangle  x  =  new  Rectangle();                    x.rightBottom  =  new  Point(13,3);                    x.rightTop  =  new  Point(13,10);                      x.leftBottom  =  new  Point(7,3);                    v.rightTop  =  new  Point(3,8);                    x.leftTop  =  new  Point(7,10);                    v.rightBottom  =  new  Point(3,5);                                          Graphics.draw(x);                    v.leftBottom  =  new  Point(1,5);                    Graphics.draw(v);                  }   }}     Do these rectangles overlap?"
  • 12. 12  
  • 13. Neurosky Mindband" Q Affectiva 2.0" Tobii TX300
 Eye Tracker" EEG
 (Electroencephalogram)" EDA
 (Electro-dermal activity)" Eye tracking" • code location" • reading vs. scanning" • cognitive load" • general state of arousal" • surprise" • visual attention, mental workload, etc." • attention™, meditation™" 13   • α, β, γ, δ, θ waves" • eye blinks" • attention, meditation" • tonic signal (low freq)" • phasic signal (high freq)" • gaze location" • fixations and saccades" • pupil size"
  • 14. 1.  Recorded participants’ task completion times." 2.  After each task, participant filled out NASA Task Load Index (TLX) survey." 3.  At end of study, participant ranked tasks by relative difficulty (1 – 8)." 14  
  • 15. 15  
  • 16. Data recording" Feature extraction" Data cleaning" Naïve Bayes classifier" Developers’ perceived difficulty" 16   Sliding time windows
 (optional)"
  • 17. •  Task difficulty metrics were highly correlated. " •  NASA TLX vs. task difficulty ranking
 Spearman: r[116] = 0.587, p < 0.01" •  Task difficulty ranking vs. task completion time 
 Spearman: r[116] = 0.724, p < 0.01" •  We created simplified metrics by nominalizing NASA TLX and task difficulty ranking into Boolean easy/difficult." •  Correlation: Boolean NASA TLX score vs. Boolean task difficulty 
 Chi2(1, 116) = 57.954, p < 0.01 (accuracy 85%)" •  Triangulation between metrics helps validates our results." 17  
  • 18. 18  
  • 19. 45%   55%   65%   75%   85%   95%   Eye   EDA   EEG   Eye  +   EDA   Eye  +   EEG   EDA  +   EEG   Eye  +   EDA  +   EEG   19   45%   55%   65%   75%   85%   95%   5   10   15   20   25   30   35   40   45   50   55   60   Sliding  Windows  Size  (sec)  
  • 20. 20  
  • 21. 21   45%   55%   65%   75%   85%   95%   Eye   EDA   EEG   Eye  +   EDA   Eye  +   EEG   EDA  +   EEG   Eye  +   EDA  +   EEG   45%   55%   65%   75%   85%   95%   5   10   15   20   25   30   35   40   45   50   55   60   Sliding  Windows  Size  (sec)  
  • 22. 22  
  • 23. 23   45%   55%   65%   75%   85%   95%   Eye   EDA   EEG   Eye  +   EDA   Eye  +   EEG   EDA  +   EEG   Eye  +   EDA  +   EEG   Sliding  Window  Size  (sec)   45%   55%   65%   75%   85%   95%   5   10  15  20  25  30  35  40  45  50  55  60  
  • 24. 1. Can readings from psycho-physiological sensors (eye tracking, EDA, EEG) accurately predict whether a task is perceived to be difficult or easy?" 2. Which combination of sensors and features best predict perceived difficulty?" 3. Can we use these measures to predict perceived difficulty even as the developer works on the task?" 24