skip to main content
10.1145/1370114.1370139acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

A sketch of the programmer's coach: making programmers more effective

Published: 13 May 2008 Publication History

Abstract

As programmers work on source code, they ask an array of questions that are difficult to answer manually. To help answer these questions, programmers often employ software tools; often in attempting to use these tools, the programmers encounter many obstacles which frustrate their efforts and lead to less than optimal tool utilization. Possibly worse, programmers often intentionally under utilize available tools as they prefer to answer questions only with tools they have used before. We hypothesize that we can coach programmers towards a more systematic use of appropriate software tools that would enable the programmers to be more productive in the completion of their work. We propose to use activity logs collected automatically to deduce the questions a given programmer asks a frequently and then to coach the programmer automatically on appropriate, possibly unfamiliar, tools to answer those questions more effectively. By using activity logs to inform coaching decisions, our approach is based on an objective cost metric. We envision an environment that enables a programmer to learn how to use appropriate tools systematically.

References

[1]
C. Artho. Jlint - find bugs in java programs. http://jlint.sourceforge.net/, 2006.
[2]
Naser S. Barghouti. Supporting cooperation in the marvel proccess-centered sde. SIGSOFT Softw. Eng. Notes, 17(5):21--31, 1992.
[3]
Oliver Burn. Checkstyle 4.4. http://checkstyle.sourceforge.net/index.html, 2008.
[4]
John M. Carroll and Mary Beth Rosson. Paradox of the active user. Interfacing thought: cognitive aspects of human-computer interaction, pages 80--111, 1987.
[5]
G. Fischer, A. C. Lemke, T. Mastaglio, and A. I. Morch. The role of critiquing in cooperative problem solving. Trans. on Information Systems, 1991.
[6]
Gerhard Fischer. A critic for lisp. In IJCAI, pages 177--184, 1987.
[7]
Reid Holmes, Robert J. Walker, and Gail C. Murphy. Strathcona example recommendation tool. In Foundations of Softw. Eng., pages 237--240. ACM, 2005.
[8]
Watts S. Humphrey. Introducing the personal software process. Ann. Software Eng., 1:311--325, 1995.
[9]
Philip M. Johnson. Requirement and design trade-offs in hackystat: An in-process software engineering measurement and analysis system. In Empirical Softw. Eng. and Measurement, pages 81--90. IEEE, 2007.
[10]
Mik Kersten and Gail C. Murphy. Using task context to improve programmer productivity. In Foundations of Softw. Eng., pages 1--11. ACM, 2006.
[11]
Andrew J. Ko, Htet Aung, and Brad A. Myers. Eliciting design requirements for maintenance-oriented ides: a detailed study of corrective and perfective maintenance tasks. In Int. Conf. on Softw. Eng., pages 126--135. ACM, 2005.
[12]
Martin P. Robillard, Wesley Coelho, and Gail C. Murphy. How effective developers investigate source code: An exploratory study. IEEE Trans. Softw. Eng., 30(12):889--903, 2004.
[13]
Izzet Safer and Gail C. Murphy. Comparing episodic and semantic interfaces for task boundary identification. In Conference of the Center for Advanced Studies on Collaborative Research, pages 229--243. ACM, 2007.
[14]
Jonathan Sillito, Gail C. Murphy, and Kris De Volder. Questions programmers ask during software evolution tasks. In Foundations of Softw. Eng., pages 23--34. ACM, 2006.
[15]
Etienne Wenger. Artificial intelligence and tutoring systems. Morgan Kaufmann Publishers Inc., 1987.
[16]
Yunwen Ye, Gerhard Fischer, and Brent Reeves. Integrating active information delivery and reuse repository systems. In Foundations of Softw. Eng., pages 60--68. ACM, 2000.
[17]
Mei Zhang. Argouml. J. Comput. Small Coll., 21(5):6--7, 2006.

Cited By

View all
  • (2020)Design of Programmer’s Skill Evaluation Metrics for Effective Team SelectionWireless Personal Communications: An International Journal10.1007/s11277-020-07517-6114:4(3049-3080)Online publication date: 1-Oct-2020
  • (2019)Mobile Devices in Programming ContextsProceedings of the 2019 on Designing Interactive Systems Conference10.1145/3322276.3322323(1109-1122)Online publication date: 18-Jun-2019
  • (2011)Collaborative code reviews on interactive surfacesProceedings of the 29th Annual European Conference on Cognitive Ergonomics10.1145/2074712.2074771(263-264)Online publication date: 24-Aug-2011
  • Show More Cited By

Index Terms

  1. A sketch of the programmer's coach: making programmers more effective

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CHASE '08: Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering
    May 2008
    120 pages
    ISBN:9781605580395
    DOI:10.1145/1370114
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 13 May 2008

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. coaching
    2. programmer activity

    Qualifiers

    • Research-article

    Conference

    ICSE '08
    Sponsor:

    Acceptance Rates

    CHASE '08 Paper Acceptance Rate 28 of 34 submissions, 82%;
    Overall Acceptance Rate 47 of 70 submissions, 67%

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 20 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)Design of Programmer’s Skill Evaluation Metrics for Effective Team SelectionWireless Personal Communications: An International Journal10.1007/s11277-020-07517-6114:4(3049-3080)Online publication date: 1-Oct-2020
    • (2019)Mobile Devices in Programming ContextsProceedings of the 2019 on Designing Interactive Systems Conference10.1145/3322276.3322323(1109-1122)Online publication date: 18-Jun-2019
    • (2011)Collaborative code reviews on interactive surfacesProceedings of the 29th Annual European Conference on Cognitive Ergonomics10.1145/2074712.2074771(263-264)Online publication date: 24-Aug-2011
    • (2009)Challenges in the user interface design of an IDE tool recommenderProceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering10.1109/CHASE.2009.5071421(104-107)Online publication date: 17-May-2009
    • (2008)Potentials and challenges of recommendation systems for software developmentProceedings of the 2008 international workshop on Recommendation systems for software engineering10.1145/1454247.1454251(11-15)Online publication date: 10-Nov-2008

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media