ABSTRACT
Even when working on a well-modularized software system, programmers tend to spend more time navigating the code than working with it. This phenomenon arises because it is impossible to modularize the code for all tasks that occur over the lifetime of a system. We describe the use of a degree-of-interest (DOI) model to capture the task context of program elements scattered across a code base. The Mylar tool that we built encodes the DOI of program elements by monitoring the programmer's activity, and displays the encoded DOI model in views of Java and AspectJ programs. We also present the results of a preliminary diary study in which professional programmers used Mylar for their daily work on enterprise-scale Java systems.
- Card, S. K. and D. Nation. Degree-of-Interest Trees: A Component of an Attention-Reactive User Interface. Advanced Visual Interfaces Conference, Trento, Italy, 2002. Google ScholarDigital Library
- Cockburn, A. Supporting tailorable program visualisation through literate programming and fisheye views. Information & Software Technology 43(13), 2001, 745--758.Google ScholarDigital Library
- Findlater, L., McGrenere, J. A comparison of static, adaptive, and adaptable menus. In Proceedings of Computer-Interaction, 2004, 89--96. Google ScholarDigital Library
- Furnas, G.W. Generalized Fisheye views. In Human Factors in Computing Systems III. Proceedings of the CHI'86 conference. ACM, Amsterdam, 1986, 16--23. Google ScholarDigital Library
- Gosling, J., Joy, B., and Steele, G., Bracha, G.: The Java Language Specification. Second Edition. Addison-Wesley, Reading, Massachusetts, 2000. Google ScholarDigital Library
- Harrison, W., Ossher, H., Tarr, P., Kruskal, V. and Tip, F. CAT: A Toolkit for Assembling Concerns. Research Report RC22686, IBM Thomas J. Watson Research Center, Yorktown Heights, NY, December, 2002.Google Scholar
- Hill, W. C., Hollan, J. D., Wroblewski, D., and McCandless, T. Edit wear and read wear. In Proceedings of the Conference on Human Factors and Computing Systems, 1992, 3--9. Google ScholarDigital Library
- Janzen, D. and De Volder, K. Navigating and querying code without getting lost. In Proceedings of Aspect Oriented Software Development, Boston, 2003, 178--187. Google ScholarDigital Library
- Janzen, D. and de Volder, K. Programming With Crosscutting Effective Views, In Proceedings of the European Conference on Object-Oriented Programming, Springer-Verlag, Oslo, 2004, 197--222.Google Scholar
- Kiczales, G., et al. An Overview of AspectJ. In Proceedings of the European Conference on Object-Oriented Programming. Springer-Verlag, Budapest, 2001, 327--353. Google ScholarDigital Library
- Kiczales, G., et al. Aspect-Oriented Programming. In: Proceedings of the European Conference on Object-Oriented Programming. Springer-Verlag, Finland, 1997, 220--242.Google ScholarCross Ref
- Munzner, T., Guimbretiere, F., Tasiran, S., Zhang, L. and Zhou, Y. TreeJuxtaposer: Scalable Tree Comparison using Focus+Context with Guaranteed Visibility. SIGGRAPH published as ACM Transactions on Graphics 22(3), 2003, 453--462. Google ScholarDigital Library
- Rieman, J. A field study of exploratory learning strategies. ACM Transactions on Computer-Human Interaction, 3, 3, 1996, 189--218. Google ScholarDigital Library
- Robillard, M. P., Murphy, G. C. Automatically Inferring Concern Code from Program Investigation Activities. In Proceedings of the 18th International Conference on Automated Software Engineering, 2003, 225--234.Google ScholarDigital Library
- Robillard, M. P., Murphy, G. C. FEAT. A Tool for Locating, Describing, and Analyzing Concerns in Source Code. In Proceedings of the International Conference on Software Engineering, 2003, 822--823. Google ScholarDigital Library
- Teitelman, W. and Masinter, L. The Interlisp programming environment. IEEE Computer, vol. 14, 1981, 25--34.Google ScholarDigital Library
Recommendations
Using task context to improve programmer productivity
SIGSOFT '06/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineeringWhen working on a large software system, a programmer typically spends an inordinate amount of time sifting through thousands of artifacts to find just the subset of information needed to complete an assigned task. All too often, before completing the ...
Questions programmers ask during software evolution tasks
SIGSOFT '06/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineeringThough many tools are available to help programmers working on change tasks, and several studies have been conducted to understand how programmers comprehend systems, little is known about the specific kinds of questions programmers ask when evolving a ...
Fishtail: from task context to source code examples
TOPI '11: Proceedings of the 1st Workshop on Developing Tools as Plug-insImplementing software development tools as integrated development environment (IDE) plugins gives tools direct access to a range of useful representations of the program being created and can improve programmer efficiency. These benefits must be weighed ...
Comments