Eliciting and modelling expert knowledge
Decision Support Systems
People, Organizations, and Process Improvement
IEEE Software
On ICSE's “most influential” papers
ACM SIGSOFT Software Engineering Notes
The reuse of uses in Smalltalk programming
ACM Transactions on Computer-Human Interaction (TOCHI)
Design rationale: concepts, techniques, and use
Design rationale: concepts, techniques, and use
The information-seeking practices of engineers: searching for documents as well as for people
Information Processing and Management: an International Journal
Agile Software Development with Scrum
Agile Software Development with Scrum
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
An examination of software engineering work practices
CASCON '97 Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research
ICSE '81 Proceedings of the 5th international conference on Software engineering
An Ethnographic Study of Copy and Paste Programming Practices in OOPL
ISESE '04 Proceedings of the 2004 International Symposium on Empirical Software Engineering
Sometimes you need to see through walls: a field study of application programming interfaces
CSCW '04 Proceedings of the 2004 ACM conference on Computer supported cooperative work
An empirical study of code clone genealogies
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Debugging by asking questions about program output
Proceedings of the 28th international conference on Software engineering
Textual Allusions to Artifacts in Software-Related Repositories
Proceedings of the 2006 international workshop on Mining software repositories
IAT '06 Proceedings of the IEEE/WIC/ACM international conference on Intelligent Agent Technology
A case study in re-engineering to enforce architectural control flow and data sharing
Journal of Systems and Software
Let's go to the whiteboard: how and why software developers use drawings
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
FASTDash: a visual dashboard for fostering awareness in software teams
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
IEEE Transactions on Software Engineering
Information Needs in Collocated Software Development Teams
ICSE '07 Proceedings of the 29th international conference on Software Engineering
A socio-technical framework for supporting programmers
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Program comprehension as fact finding
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
An analysis of developers' tasks using low-level, automatically collected data
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
An analysis of developers' tasks using low-level, automatically collected data
The 6th Joint Meeting on European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering: companion papers
A framework for studying the use of wikis in knowledge work using client-side access data
Proceedings of the 2007 international symposium on Wikis
Notation and representation in collaborative object-oriented design: an observational study
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Building an Ecologically valid, Large-scale Diagram to Help Developers Stay Oriented in Their Code
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
Investigating statistical machine learning as a tool for software development
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering
Deep intellisense: a tool for rehydrating evaporated information
Proceedings of the 2008 international working conference on Mining software repositories
Opportunistic programming: how rapid ideation and prototyping occur in practice
Proceedings of the 4th international workshop on End-user software engineering
More natural end-user software engineering
Proceedings of the 4th international workshop on End-user software engineering
Knowledge reuse for software reuse
Web Intelligence and Agent Systems
Novice software developers, all over again
ICER '08 Proceedings of the Fourth international Workshop on Computing Education Research
Pair programming: what's in it for me?
Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
Iterative design and evaluation of an event architecture for pen-and-paper interfaces
Proceedings of the 21st annual ACM symposium on User interface software and technology
Execution trace analysis through massive sequence and circular bundle views
Journal of Systems and Software
"Cloning considered harmful" considered harmful: patterns of cloning in software
Empirical Software Engineering
How tagging helps bridge the gap between social and technical aspects in software development
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Succession: Measuring transfer of code and developer productivity
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
The secret life of bugs: Going past the errors and omissions in software repositories
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Characterizing Example Embedding as a software activity
SUITE '09 Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation
Codetrail: Connecting source code and web resources
Journal of Visual Languages and Computing
Audio-video recording of ad hoc software development team interactions
CHASE '09 Proceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering
Using social visualization to motivate social production
IEEE Transactions on Multimedia - Special section on communities and media computing
Traceability-Based Change Awareness
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Proceedings of the 2010 ACM conference on Computer supported cooperative work
Proceedings of the 2010 ACM conference on Computer supported cooperative work
CodeSaw: a social visualization of distributed software development
INTERACT'07 Proceedings of the 11th IFIP TC 13 international conference on Human-computer interaction - Volume Part II
Interaction and visualization techniques for programming
INTERACT'07 Proceedings of the 11th IFIP TC 13 international conference on Human-computer interaction - Volume Part II
Codebook: discovering and exploiting relationships in software repositories
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Using information fragments to answer the questions developers ask
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Developers ask reachability questions
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Awareness 2.0: staying aware of projects, developers and tasks using dashboards and feeds
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Linking e-mails and source code artifacts
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Customized awareness: recommending relevant external change events
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Clone removal: fact or fiction?
Proceedings of the 4th International Workshop on Software Clones
Towards integrating e-mail communication in the IDE
Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation
The role of emergent knowledge structures in collaborative software development
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
On the importance of understanding the strategies that developers use
Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering
Replaying past changes in multi-developer projects
Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)
CodePad: interactive spaces for maintaining concentration in programming environments
Proceedings of the 5th international symposium on Software visualization
Representing development history in software cities
Proceedings of the 5th international symposium on Software visualization
Proceedings of the 16th ACM international conference on Supporting group work
Social media for software engineering
Proceedings of the FSE/SDP workshop on Future of software engineering research
The state of the art in end-user software engineering
ACM Computing Surveys (CSUR)
Hard-to-answer questions about code
Evaluation and Usability of Programming Languages and Tools
Resumption strategies for interrupted programming tasks
Software Quality Control
Developers attentiveness to example usage
Human Aspects of Software Engineering
Proceedings of the 2011 ACM Symposium on Applied Computing
Analyzing tool usage to understand to what extent experts change their activities when mentoring
Proceedings of the 2nd International Workshop on Emerging Trends in Software Metrics
Supporting software history exploration
Proceedings of the 8th Working Conference on Mining Software Repositories
Toward a better understanding of tool usage (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Miler: a toolset for exploring email data
Proceedings of the 33rd International Conference on Software Engineering
Exploring, exposing, and exploiting emails to include human factors in software engineering
Proceedings of the 33rd International Conference on Software Engineering
An empirical study of long-lived code clones
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Understanding how novices are integrated in a team analysing their tool usage
Proceedings of the 2011 International Conference on Software and Systems Process
Micro interaction metrics for defect prediction
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Querypoint: moving backwards on wrong values in the buggy execution
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
A cognitive perspective on developer comprehension of software design documentation
Proceedings of the 29th ACM international conference on Design of communication
Stacksplorer: call graph navigation helps increasing code maintenance efficiency
Proceedings of the 24th annual ACM symposium on User interface software and technology
Explicit use-case representation in object-oriented programming languages
Proceedings of the 7th symposium on Dynamic languages
Collaborative code reviews on interactive surfaces
Proceedings of the 29th Annual European Conference on Cognitive Ergonomics
Software engineers' information behaviour and implicit relevance indicators
International Journal of Knowledge and Web Intelligence
Designing useful tools for developers
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work
Task-specific information retrieval systems for software engineers
Journal of Computer and System Sciences
Agile software assessment with Moose
ACM SIGSOFT Software Engineering Notes
Blaze: supporting two-phased call graph navigation in source code
CHI '12 Extended Abstracts on Human Factors in Computing Systems
Harmfulness of code duplication: a structured review of the evidence
EASE'09 Proceedings of the 13th international conference on Evaluation and Assessment in Software Engineering
Software developers' information needs: towards the development of intelligent recommender systems
iUBICOM'11 Proceedings of the 6th international conference on Ubiquitous and Collaborative Computing
Cohesive and isolated development with branches
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Controversy Corner: Preserving knowledge in software projects
Journal of Systems and Software
How do professional developers comprehend software?
Proceedings of the 34th International Conference on Software Engineering
Recommending source code for use in rapid software prototypes
Proceedings of the 34th International Conference on Software Engineering
Proceedings of the 34th International Conference on Software Engineering
Documenting and sharing knowledge about code
Proceedings of the 34th International Conference on Software Engineering
History slicing: assisting code-evolution tasks
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
How do software engineers understand code changes?: an exploratory study in industry
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
ACM Transactions on Software Engineering and Methodology (TOSEM)
Answering software evolution questions: An empirical evaluation
Information and Software Technology
How tools in IDEs shape developers' navigation behavior
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Expectations, outcomes, and challenges of modern code review
Proceedings of the 2013 International Conference on Software Engineering
Temporal code completion and navigation
Proceedings of the 2013 International Conference on Software Engineering
Seahawk: stack overflow in the IDE
Proceedings of the 2013 International Conference on Software Engineering
Enhancement of CRD-based clone tracking
Proceedings of the 2013 International Workshop on Principles of Software Evolution
Degree-of-knowledge: Modeling a developer's knowledge of code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Does the discipline of preprocessor annotations matter?: a controlled experiment
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Evaluating a query framework for software evolution data
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Software comprehension based on database relational algebra
International Journal of Information and Communication Technology
Hi-index | 0.00 |
To understand developers' typical tools, activities, and practices and their satisfaction with each, we conducted two surveys and eleven interviews. We found that many problems arose because developers were forced to invest great effort recovering implicit knowledge by exploring code and interrupting teammates and this knowledge was only saved in their memory. Contrary to expectations that email and IM prevent expensive task switches caused by face-to-face interruptions, we found that face-to-face communication enjoys many advantages. Contrary to expectations that documentation makes understanding design rationale easy, we found that current design documents are inadequate. Contrary to expectations that code duplication involves the copy and paste of code snippets, developers reported several types of duplication. We use data to characterize these and other problems and draw implications for the design of tools for their solution.