Designing the user interface: strategies for effective human-computer interaction
Designing the user interface: strategies for effective human-computer interaction
Experimentation in software engineering
IEEE Transactions on Software Engineering
Object structure in the Emerald system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
A field study of the software design process for large systems
Communications of the ACM
Breakdowns and processes during the early activities of software design by professionals
Empirical studies of programmers: second workshop
Experimental evaluation of software documentation formats
Journal of Systems and Software
Evaluating usability of human-computer interfaces: a practical method
Evaluating usability of human-computer interfaces: a practical method
A scientific methodology for MIS case studies
MIS Quarterly
Emerald: a general-purpose programming language
Software—Practice & Experience
People, Organizations, and Process Improvement
IEEE Software
Science and Substance: A Challenge to Software Engineers
IEEE Software
Design and analysis in software engineering: the language of case studies and formal experiments
ACM SIGSOFT Software Engineering Notes
Getting the most from paired-user testing
interactions
Methodology matters: doing research in the behavioral and social sciences
Human-computer interaction
Experimental design and analysis in software engineering, part 4: choosing an experimental design
ACM SIGSOFT Software Engineering Notes
Experimental design and analysis in software engineering: Part 2: how to set up and experiment
ACM SIGSOFT Software Engineering Notes
The role of experimentation in software engineering: past, current, and future
Proceedings of the 18th international conference on Software engineering
Identification of Dynamic Comprehension Processes During Large Scale Maintenance
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
The reuse of uses in Smalltalk programming
ACM Transactions on Computer-Human Interaction (TOCHI)
An Experiment to Assess the Cost-Benefits of Code Inspections in Large Scale Software Development
IEEE Transactions on Software Engineering
An initial assessment of aspect-oriented programming
Proceedings of the 21st international conference on Software engineering
The Java Language Specification
The Java Language Specification
Experimental Design and Analysis in Software Engineering: Types of Experimental Design
ACM SIGSOFT Software Engineering Notes
How Software Engineering Tools Organize Programmer BehaviorDuring the Task of Data Encapsulation
Empirical Software Engineering
Aspect-Oriented Programming of Sparse Matrix Code
ISCOPE '97 Proceedings of the Scientific Computing in Object-Oriented Parallel Environments
On Designing an Experiment to Evaluate a Reverse Engineering Tool
WCRE '96 Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)
An initial assessment of aspect-oriented programming
Proceedings of the 21st international conference on Software engineering
Does aspect-oriented programming work?
Communications of the ACM
Ethical Issues in Software Engineering Research: A Survey of Current Practice
Empirical Software Engineering
Aspect-oriented interaction in multi-organisational web-based systems
Computer Networks: The International Journal of Computer and Telecommunications Networking
Panel: empirical validation: what, why, when, and how
Proceedings of the 25th International Conference on Software Engineering
Aspect-oriented implementation method: progressive or non-progressive approach?
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Pluggable AOP: designing aspect mechanisms for third-party composition
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Program entanglement, feature interaction and the feature language extensions
Computer Networks: The International Journal of Computer and Telecommunications Networking
HOTOS'05 Proceedings of the 10th conference on Hot Topics in Operating Systems - Volume 10
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
Assessment of Contemporary Modularization Techniques - ACoM'07: workshop report
ACM SIGSOFT Software Engineering Notes
Awesome: an aspect co-weaving system for composing multiple aspect-oriented extensions
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
A theory of aspects as latent topics
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Applying empirical software engineering to software architecture: challenges and lessons learned
Empirical Software Engineering
Assisting the development of aspect-based multi-agent systems using the smartweaver approach
Software engineering for large-scale multi-agent systems
DSketch: lightweight, adaptable dependency analysis
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
A design perspective on modularity
Proceedings of the tenth international conference on Aspect-oriented software development
Mixing research methods in HCI: ethnography meets experimentation in image browser design
EHCI-DSVIS'04 Proceedings of the 2004 international conference on Engineering Human Computer Interaction and Interactive Systems
Proceedings of the 1st European Workshop on AppRoaches to MObiquiTous Resilience
Hi-index | 0.02 |
Determining whether a new software development technique is useful and usable is a challenging task. Various flavors of empirical study may be used to help with this task, including surveys, case studies, and experiments. Little guidance is available within the software engineering community to help choose among these alternatives when assessing a new and evolving software development technique within some cost bounds. We faced this challenge when assessing a new programming technique called aspect-oriented programming. To assess the technique, we chose to apply both a case study approach and a series of four experiments because we wanted to understand and characterize the kinds of information that each approach might provide.In this paper, we describe and critique the evaluation methods we employed, and discuss the lessons we have learned. These lessons are applicable to other researchers attempting to assess new programming techniques that are in an early stage of development.