STATEMATE: A Working Environment for the Development of Complex Reactive Systems
IEEE Transactions on Software Engineering
Proceedings of the 27th international conference on Software engineering
Theories, tools and research methods in program comprehension: past, present and future
Software Quality Control
Information Needs in Collocated Software Development Teams
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Debugging reinvented: asking and answering why and why not questions about program behavior
Proceedings of the 30th international conference on Software engineering
A few billion lines of code later: using static analysis to find bugs in the real world
Communications of the ACM
A degree-of-knowledge model to capture source code familiarity
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Code bubbles: rethinking the user interface paradigm of integrated development environments
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Hi-index | 0.00 |
Research into how humans interact with computers has a long and rich history. Only a small fraction of this research has considered how humans interact with computers when engineering software. A similarly small amount of research has considered how humans interact with humans when engineering software. For the last forty years, we have largely taken an artifact-centric approach to software engineering research. To meet the challenges of building future software systems, I argue that we need to balance the artifact-centric approach with a human-centric approach, in which the focus is on amplifying the human intelligence required to build great software systems. A human-centric approach involves performing empirical studies to understand how software engineers work with software and with each other, developing new methods for both decomposing and composing models of software to to ease the cognitive load placed on engineers and on creating computationally intelligent tools aimed at focusing the humans on the tasks only the humans can solve.