Community help: discovering tools and locating experts in a dynamic environment
CHI '95 Conference Companion on Human Factors in Computing Systems
The costs and benefits of pair programming
Extreme programming examined
Case study: extreme programming in a university environment
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Mining Sequential Patterns: Generalizations and Performance Improvements
EDBT '96 Proceedings of the 5th International Conference on Extending Database Technology: Advances in Database Technology
TiVo: making show recommendations using a distributed collaborative filtering architecture
Proceedings of the tenth ACM SIGKDD international conference on Knowledge discovery and data mining
Over the Shoulder Learning: Supporting Brief Informal Learning
Computer Supported Cooperative Work
A survey of software learnability: metrics, methodologies and guidelines
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Finding causes of program output with the Java Whyline
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
How we refactor, and how we know it
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Challenges in the user interface design of an IDE tool recommender
CHASE '09 Proceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering
CommunityCommands: command recommendations for software applications
Proceedings of the 22nd annual ACM symposium on User interface software and technology
Designing refactoring tools for developers
Proceedings of the 2nd Workshop on Refactoring Tools
Improving API documentation using API usage information
VLHCC '09 Proceedings of the 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
An interactive ambient visualization for code smells
Proceedings of the 5th international symposium on Software visualization
Improving program navigation with an active help system
Proceedings of the 2010 Conference of the Center for Advanced Studies on Collaborative Research
Peer interaction effectively, yet infrequently, enables programmers to discover new tools
Proceedings of the ACM 2011 conference on Computer supported cooperative work
Design and evaluation of a command recommendation system for software applications
ACM Transactions on Computer-Human Interaction (TOCHI)
Continuous social screencasting to facilitate software tool discovery
Proceedings of the 34th International Conference on Software Engineering
Social influences on secure development tool adoption: why security tools spread
Proceedings of the 17th ACM conference on Computer supported cooperative work & social computing
Hi-index | 0.00 |
Software developers interact with the development environments they use by issuing commands that execute various programming tools, from source code formatters to build tools. However, developers often only use a small subset of the commands offered by modern development environments, reducing their overall development fluency. In this paper, we use several existing command recommender algorithms to suggest new commands to developers based on their existing command usage history, and also introduce several new algorithms. By running these algorithms on data submitted by several thousand Eclipse users, we describe two studies that explore the feasibility of automatically recommending commands to software developers. The results suggest that, while recommendation is more difficult in development environments than in other domains, it is still feasible to automatically recommend commands to developers based on their usage history, and that using patterns of past discovery is a useful way to do so.