ACM Transactions on Programming Languages and Systems (TOPLAS)
Boxer: a reconstructible computational medium
Communications of the ACM
Program Translation Via Abstraction and Reimplementation
IEEE Transactions on Software Engineering
Software—Practice & Experience
Cognitive dimensions of notations
Proceedings of the fifth conference of the British Computer Society, Human-Computer Interaction Specialist Group on People and computers V
TXL: a rapid prototyping system for programming language dialects
Computer Languages
TELS: learning text editing tasks from examples
Watch what I do
A refactoring tool for Smalltalk
Theory and Practice of Object Systems - Special issue object-oriented software evolution and re-engineering
JavaML: a markup language for Java source code
Proceedings of the 9th international World Wide Web conference on Computer networks : the international journal of computer and telecommunications netowrking
SWYN: a visual representation for regular expressions
Your wish is my command
VXT: a visual approach to XML transformations
DocEng '01 Proceedings of the 2001 ACM Symposium on Document engineering
Software design---cognitive aspects
Software design---cognitive aspects
Supporting document and data views of source code
Proceedings of the 2002 ACM symposium on Document engineering
A": A Language for Implementing Language Processors
IEEE Transactions on Software Engineering
Interactive Simultaneous Editing of Multiple Text Regions
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
XDuce: A statically typed XML processing language
ACM Transactions on Internet Technology (TOIT)
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Visual AWK: a model for text processing by demonstration
VL '95 Proceedings of the 11th International IEEE Symposium on Visual Languages
VL '00 Proceedings of the 2000 IEEE International Symposium on Visual Languages (VL'00)
Designing an XML-Based Exchange Format for Harmonia
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Fast, Flexible Syntactic Pattern Matching and Processing
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
Program manipulation via interactive transformations
Program manipulation via interactive transformations
Example-Based Program Transformation
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Annotation refactoring: inferring upgrade transformations for legacy applications
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Discovering and representing systematic code changes
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Gathering refactoring data: a comparison of four methods
Proceedings of the 2nd Workshop on Refactoring Tools
GUI testing using computer vision
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Refactoring references for library migration
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Systematic editing: generating program transformations from an example
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Sydit: creating and applying a program transformation from an example
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Hi-index | 0.01 |
Software developers must modify their programs to keepup with changing requirements and designs. Often, aconceptually simple change can require numerous editsthat are similar but not identical, leading to errors andomissions. Researchers have designed programming environmentsto address this problem, but most of thesesystems are counter-intuitive and difficult to use.By applying a task-centered design process, we developeda visual tool that allows programmers to makecomplex code transformations in an intuitive manner.This approach uses a representation that aligns wellwith programmers' mental models of programming structures.The visual language combines textual and graphicalelements and is expressive enough to support a broadrange of code-changing tasks. To simplify learning thesystem, its user interface scaffolds construction and executionof transformations. An evaluation with Java programmerssuggests that the interface is intuitive, easyto learn, and effective on a representative editing task.