Carter, JasonDewan, Prasun2017-10-232017-10-232015978-3-319-20498-7We have investigated techniques for mining programming activity to offer help to programmers in difficulty. We have developed a (a) difficulty-detection mechanism based on the notion of command ratios; (b) difficulty-classification mechanism that uses both command ratios and rates; and (c) collaboration mechanism that provides both workspace and difficulty awareness. Our studies involve interviews and lab and field experiments, and indicate that (a) it is possible to mine programming activity to reliably detect and classify difficulties, (b) it is possible to build a collaborative environment to offer opportunistic help, (c) programmers are not unnerved by and find it useful to receive unsolicited help arriving in response to automatically detected difficulties, (d) the acceptable level of privacy in a help-promotion tool depends on whether the developers in difficulty are student or industrial programmers, and whether they have been exposed earlier to a help promotion tool, and (e) difficulty detection can filter out spurious help requests and reduce the need for meetings required to poll for rare difficulty events.enMining Programming Activity to Promote HelpText/Conference Paper10.1007/978-3-319-20499-4_2