Subvocalization -- Towards Hearing the Inner Thoughts of Developers

29
Subvocalization Toward Hearing the Inner Thoughts of Developers Chris Parnin Georgia Tech

description

Background and initial experiments performing subvocalization studies of programmers with EMG recordings.

Transcript of Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Page 1: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

SubvocalizationToward Hearing the Inner Thoughts of Developers

Chris ParninGeorgia Tech

Page 2: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Overview

Subvocal speech

+

EMG (electromyography)

=

Cognition?

Page 3: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Problem

Page 4: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

QuestionsDoes a tool or language reduce cognitive effort?

Can we identify moments of learning uncertainty?

Can we distinguish cognitive processes?

Can we find news ways to interact?

Page 5: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Some Attempts of Measuring Cognition

Page 6: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

fMRI

12-30 seconds tasks

While crammed in the middle of a jet engine

Page 7: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

EEG

Page 8: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

History of Reading?

”His heart sought out the meaning, but his voice was silent and his tongue was still”

300s AD

Page 9: Subvocalization -- Towards Hearing the Inner Thoughts of Developers
Page 10: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Kymograph

Page 11: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Inner Speech (Brain)

Page 12: Subvocalization -- Towards Hearing the Inner Thoughts of Developers
Page 13: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Speech Plans and Acts

Page 14: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

fMRI processing inner speech..

Page 15: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

BRAIN

Page 16: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Measure with EMG

Page 17: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Sokolov’s EMG Recordings (1970s)

Page 18: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Reasons why People Subvocalize

BoostMultiple modalities

AttentionFocus, maintain

Activationcomprehension, memory

Page 19: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Research Questions

When do developers subvocalize?

Can subvocalization be used to measure difficulty of programming task?

Distinguish visual or verbal cognitive processing?

Page 20: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Tasks

Make block fall all the way down with space key.

Make monster reappear if

missed shot.

Page 21: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

100 200 300 400 500 600 700 800 900

Debug

Select

Click

Search

Edit

An instrumented session…

Page 22: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

0 100 200 300 400 500 600 700 800 900

Subvocal Debug

Select Click

Search Edit

FormulatingProblem

Found useful code

Formulatingsolution

EditingFound useful code

Evaluating

Moments of interest and difficulty

Page 23: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Difference in tasks at frequency bands

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 970

10000

20000

30000

40000

50000

60000

Series1microvolts

Frequency bands

Page 24: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

One more thing…

Page 25: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Silent Speech Interfaces

Page 26: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

?

“Things Programmers Think When

Coding?”

Jorgensen

6 words(8% error)

2003

Schultz

101 words

(10% error)

2010 ICPC 2012

State of the Art

Page 27: Subvocalization -- Towards Hearing the Inner Thoughts of Developers

Questions?

0 100 200 300 400 500 600 700 800 900

Detect Hmm?

Page 28: Subvocalization -- Towards Hearing the Inner Thoughts of Developers
Page 29: Subvocalization -- Towards Hearing the Inner Thoughts of Developers