ABSTRACT
This paper proposes a framework for describing, comparing and understanding visualization tools that provide awareness of human activities in software development. The framework has several purposes -- it can act as a formative evaluation mechanism for tool designers; as an assessment tool for potential tool users; and as a comparison tool so that tool researchers can compare and understand the differences between various tools and identify potential new research areas. We use this framework to structure a survey of visualization tools for activity awareness in software development. Based on this survey we suggest directions for future research.
- Ball, T., and Eick, S. G. 1996. Software visualization in the large. IEEE Computer 29, 4, 33--43. Google ScholarDigital Library
- Dix, A. J. 1994. Computer-supported cooperative work---a framework. In Design Issues in CSCW, D. Rosenburg and C. Hutchison, Eds. Springer Verlag, 23--37.Google Scholar
- Dourish, P., and Bellotti, V. 1992. Awareness and coordination in shared workspaces. In Proc. of the ACM Conference on Computer-Supported Cooperative Work, 107--114. Google ScholarDigital Library
- Eick, S. G., Steffen, J. L., and Summner Jr., E. E. 1992. Seesoft---a tool for visualizing line oriented software statistics. IEEE Trans. on Software Engineering 18, 11, 957--968. Google ScholarDigital Library
- Eick, S. G., Graves, T. L., Karr, A. F., Mockus, A., and Schuster, P. 2002. Visualizing software changes. IEEE Transaction on Software Engineering 28, 4, 396--412. Google ScholarDigital Library
- Endsley, M. 1995. Toward a theory of situation awareness in dynamic systems. Human Factors 37, 1, 32--64.Google Scholar
- Froehlich, J., and Dourish, P. 2004. Unifying artifacts and activities in a visual tool for distributed software development teams. In Proc. of the 26th International Conference on Software Engineering (ICSE'04), 387--396. Google ScholarDigital Library
- German, D., Hindle, A., and Jordan, N. 2004. Visualizing the evolution of software using softChange. In Proc. of the 16th Internation Conference on Software Engineering and Knowledge Engineering (SEKE 2004), 336--341.Google Scholar
- German, D. 2004. An empirical study of fine-grained software modifications. In 20th IEEE International Conference on Software Maintenance (ICSM'04), 316--325. Google ScholarDigital Library
- Green, T. 2000. Instructions and descriptions: some cognitive aspects of programming and similar activities. In Working Conference on Advanced Visual Interfaces (AVI 2000), 21--28. Google ScholarDigital Library
- Grinter, R. E. 1995. Using a configuration management tool to coordinate software development. In Conference on Organizational Computing Systems, 168--177. Google ScholarDigital Library
- Grundy, J. C. 2001. Software architecture modeling, analysis and implementation with SoftArch. In Hawaii International Conference on System Sciences, 9051. Google ScholarDigital Library
- Gulla, B. 1992. Improved maintenance support by multi-version visualizations. In Proc. of the International Conference on Software Maintenance, 376--383.Google ScholarCross Ref
- Gutwin, C., and Greenberg, S. 2002. A descriptive framework of workspace awareness for real-time groupware. Computer Supported Cooperative Work 11, 3/4, 411--446. Google ScholarDigital Library
- Gutwin, C., Penner, R. and Schneider, K. 2004. Group awareness in distributed software development. In Proc. of the 2004 ACM Conference on Computer Supported Cooperative Work, 72--81. Google ScholarDigital Library
- Hupfer, S., Cheng, L.-T., Ross, S., and Patterson, J. 2004. Introducing collaboration into an application development environment. In Proc. of the ACM 2004 Conference on Computer Supported Cooperative Work, 444--454. Google ScholarDigital Library
- Koike, H., and Chu, H.-C. 1997. VRCS: Integrating version control and module management using interactive three-dimensional graphics. In Visual Languages VL'97, 170--175. Google ScholarDigital Library
- Lanza, M. 2001. The Evolution Matrix: recovering software evolution using software visualization techniques. In Proc. of the 4th International Workshop on Principles of Software Evolution, 37--42. Google ScholarDigital Library
- Lintern, R., Michaud, J., Storey, M.-A., and Wu, X. 2003. Plugging-in visualization: experiences integrating a visualization tool with eclipse. In Proc. of the 2003 ACM symposium on Software visualization, 47--56. Google ScholarDigital Library
- Price, B. A., Small, I. S., and Baecker, R. M. 1992. A Taxonomy of Software Visualization. In Proc. of the 25th Hawaii International Conference on System Sciences (HICSS), vol. 2, 597--606.Google Scholar
- Sarma, A., Noroozi, Z., and Van Der Hoek, A. 2003. Palantír: raising awareness among configuration management workspaces. In Proc. of the 25th International Conference on Software Engineering, 444--454. Google ScholarDigital Library
- Schümmer, T., and Haake, J. M. 2001. Supporting distributed software development by modes of collaboration. In Proc. of the European Conference on Computer Supported Collaborative Work, 79--98. Google ScholarDigital Library
- Segal, L. 1995. Designing team workstations: the choreography of teamwork, In Local Applications of the Ecological Approach to Human-Machine Systems, P. Hancock, J. Flach, J. Caird, and K. Vicente, Eds. 392--415.Google Scholar
- Souza, C. D., Redmiles, D., Cheng, L.-T., Millen, D., and Patterson, J. 2004. Sometimes you need to see through walls a field study of application programming interfaces. In Proc. of the 2004 ACM Conference on Computer Supported Cooperative Work, 63--71. Google ScholarDigital Library
- Tu, Q., and Godfrey, M. W. 2002. An integrated approach for studying architectural evolution. In Proc. of the 10th International Workshop on Program Comprehension (IWPC'02), 127--136. Google ScholarDigital Library
- Walenstein, A. 2003. Observing and measuring cognitive support: Steps toward systematic tool evaluation and engineering. In Proc. of the 11th International Workshop on Program Comprehension (IWPC'03), 185--195. Google ScholarDigital Library
- Ware, C. 2000. Information visualization: perception for design. Morgan Kaufmann Publishers Inc. Google ScholarDigital Library
- WU, J., Holt, R. C., and Hassan, A. E. 2004. Exploring software evolution using spectrographs. In Proc. 11th Working Conference on Reverse Engineering, 80--89. Google ScholarDigital Library
- Wu, X., Murray, A., Storey, M.-A., and Lintern, R. 2004. A reverse engineering approach to support software maintenance: Version control knowledge extraction. In Proc. 11th Working Conference on Reverse Engineering, 90--99. Google ScholarDigital Library
Index Terms
- On the use of visualization to support awareness of human activities in software development: a survey and a framework
Recommendations
Evolution Is Essential for Software Tool Development
CASE '95: Proceedings of the Seventh International Workshop on Computer-Aided Software EngineeringWe examine the problems encountered in evolving software development tools, in particular, configuration management tools, drawing on our experience in producing the DaSC configuration management toolset. Building good software development tools is a ...
Software development: what it is, what it should be, and how to get there
Developing large software systems is notoriously difficult and unpredictable. Software projects are often canceled, finish late and over budget, or yield low quality results --- setting software engineering apart from established engineering ...
Intelligent risk management tools for software development
SACLA '09: Proceedings of the 2009 Annual Conference of the Southern African Computer Lecturers' AssociationSoftware tools have been used in software development for a long time now. They are used for, among other things, performance analysis, testing and verification, debugging and building applications. Software tools can be very simple and lightweight, ...
Comments