Results 1 -
9 of
9
Theories, Methods and Tools in Program Comprehension : Past, Present and Future
- in Proceedings 13th International Workshop on Program Comprehension (IWPC 2005), St. Louis, MO., May 15
"... Program comprehension research can be characterized by both the theories that provide rich explanations about how programmers comprehend software, as well as the tools that are used to assist in comprehension tasks. During this talk I will review some of the key cognitive theories of program compreh ..."
Abstract
-
Cited by 17 (0 self)
- Add to MetaCart
Program comprehension research can be characterized by both the theories that provide rich explanations about how programmers comprehend software, as well as the tools that are used to assist in comprehension tasks. During this talk I will review some of the key cognitive theories of program comprehension that have emerged over the past thirty years. Using these theories as a canvas, I will then explore how tools that are popular today have evolved to support program comprehension. Specifically, I will discuss how the theories and tools are related and reflect on the research methods that were used to construct the theories and evaluate the tools. The reviewed theories and tools will be further differentiated according to human characteristics, program characteristics, and the context for the various comprehension tasks. Finally, I will predict how these characteristics will change in the future and speculate on how a number of important research directions could lead to improvements in program comprehension tools and methods. 1.
Using Eclipse in Distant Teaching of Software Engineering
, 2004
"... Software engineering education is most often complemented by a software engineering project where a team of students has to develop a large software system. At a distance teaching university such projects challenge the students in communication and collaboration, because team members work in differe ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Software engineering education is most often complemented by a software engineering project where a team of students has to develop a large software system. At a distance teaching university such projects challenge the students in communication and collaboration, because team members work in different places, many miles away from each other. We present an ECLIPSE-based unified platform that leverages available tools and solutions and discuss the problems involved. Besides using plug-ins that support the students during implementation, our platform integrates a collaborative distant education environment and a software project management system that will ease the students' collaboration in the software engineering project.
Advanced Widgets for Eclipse
- In Proceedings of 2nd workshop on Eclipse Technology Exchange
, 2004
"... Information Visualization Toolkits are often in the form of applications or complex frameworks and do not integrate into existing applications very easily. In this paper we introduce three Advanced Widgets for Eclipse (AWE) to help create visualizations of complex data. These widgets are packaged as ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
Information Visualization Toolkits are often in the form of applications or complex frameworks and do not integrate into existing applications very easily. In this paper we introduce three Advanced Widgets for Eclipse (AWE) to help create visualizations of complex data. These widgets are packaged as a set of JFace components. The widgets include a Simple UML Class Diagram widget, a Simple Graph Widget and a Nested Zoomable Graph Widget. Each widget conforms to the JFace standards and therefore can easily be incorporated by Java Developers into Eclipse Plug-ins or stand-alone applications. 1
Theories, tools and research methods in program comprehension: past, present and future
"... Abstract Program comprehension research can be characterized by both the theories that provide rich explanations about how programmers understand software, as well as the tools that are used to assist in comprehension tasks. In this paper, I review some of the key cognitive theories of program compr ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Abstract Program comprehension research can be characterized by both the theories that provide rich explanations about how programmers understand software, as well as the tools that are used to assist in comprehension tasks. In this paper, I review some of the key cognitive theories of program comprehension that have emerged over the past thirty years. Using these theories as a canvas, I then explore how tools that are commonly used today have evolved to support program comprehension. Specifically, I discuss how the theories and tools are related and reflect on the research methods that were used to construct the theories and evaluate the tools. The reviewed theories and tools are distinguished according to human characteristics, program characteristics, and the context for the various comprehension tasks. Finally, I predict how these characteristics will change in the future and speculate on how a number of important research directions could lead to improvements in program comprehension tool development and research methods.
Study of novice programmers using eclipse and gild,” in eclipse 2005
- Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
, 2005
"... In this paper we discuss a pilot user study that compares the use of two integrated development environments (IDEs), Eclipse and Gild, by novice programmers. Gild is a perspective for Eclipse that is intended to be more suitable for first-year students who are learning how to program in Java. This s ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
In this paper we discuss a pilot user study that compares the use of two integrated development environments (IDEs), Eclipse and Gild, by novice programmers. Gild is a perspective for Eclipse that is intended to be more suitable for first-year students who are learning how to program in Java. This study focuses on qualitative and quantitative measures; the quantitative measures include: efficiency, effectiveness, satisfaction and understanding. Two statistically significant results are obtained from the satisfaction measure, in particular: the frustration level and the overall level of satisfaction. The mean differences for the remaining measures indicate that Gild was more suitable for novices than Eclipse. Qualitative analysis yields suggestions for improvement for both interfaces and also identifies areas of success.
Presentations by Programmers for Programmers
- 29th International Conference on Software Engineering, 2007
"... A common form of live technical presentation is that given by programmers for a programming audience during conferences, demonstrations, code reviews, and tutorials. Such presentations require manual switching between general presentation software and the integrated development environment (IDE), as ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
A common form of live technical presentation is that given by programmers for a programming audience during conferences, demonstrations, code reviews, and tutorials. Such presentations require manual switching between general presentation software and the integrated development environment (IDE), as well as reconfiguration of the IDE’s UI to be readable by an audience. In this paper, we present a novel system that allows programmers to easily combine traditional slideware with seamless transitions to user-specified regions of the IDE along with special effects for live demonstration. 1.
IDE Support for Test-driven Development and Automated Grading in Both Java and C++
"... Students need to learn testing skills, and using test-driven development on assignments is one way to help students learn. We use a flexible automated grading system called Web-CAT to assess student assignments, including the validity and completeness of their own test cases. By building on existing ..."
Abstract
- Add to MetaCart
Students need to learn testing skills, and using test-driven development on assignments is one way to help students learn. We use a flexible automated grading system called Web-CAT to assess student assignments, including the validity and completeness of their own test cases. By building on existing educational plug-ins for Eclipse, and adding our own plug-ins for electronic submission and for unit testing support in C++, we are able to use Eclipse as a portal to all the services our students will need, allowing them to accomplish all their tasks entirely within the IDE, from their project’s inception to its submission and evaluation. Further, we are able to carry students through the transition from Java programming to C++ programming within this same environment.
Supporting Feature Awareness and Improving Performance with Personalized Graphical User Interfaces
, 2009
"... Personalized graphical user interfaces have the potential to reduce visual complexity and improve efficiency by modifying the interface to better suit an individual user’s needs. Working in a personalized interface can make users faster, more accurate and more satisfied; in practice, however, person ..."
Abstract
- Add to MetaCart
Personalized graphical user interfaces have the potential to reduce visual complexity and improve efficiency by modifying the interface to better suit an individual user’s needs. Working in a personalized interface can make users faster, more accurate and more satisfied; in practice, however, personalization also comes with costs, such as a reliance on user effort to control the personalization, or the introduction of spatial instability when interface items are reorganized automatically. We conducted a series of studies to examine both the costs and benefits of personalization, and to identify techniques and contexts that would be the most likely to provide an overall benefit. We first interviewed long-term users of a software application that provides adaptable (usercontrolled) personalization. A design trade-off that emerged is that while personalization can increase the accessibility of features useful to a user’s current task, it may in turn negatively impact the user’s awareness of the full set of available features. To assess this potential trade-off, we introduced awareness as an evaluation metric to be used alongside more standard performance measures and we ran a series of three studies to understand how awareness relates to core task performance. These studies used two different measures to assess awareness, showing that personalization can impact both the recognition rate of unused features in the interface and user performance on new
Beyond Current Social Computing: Challenges to Complex Coordinated Systems Design?
"... Although, in theory, the underlying systems used to implement CSCW systems are isolated from the interfaces the users see, the difficulty of implementing complex coordinated systems has in the past prevented easy experimentation with different grain-sizes and regimes for coordination. Now, Web 2.0 t ..."
Abstract
- Add to MetaCart
Although, in theory, the underlying systems used to implement CSCW systems are isolated from the interfaces the users see, the difficulty of implementing complex coordinated systems has in the past prevented easy experimentation with different grain-sizes and regimes for coordination. Now, Web 2.0 technologies bring complex, coordinated systems closer to hand and promote social computing into a new level. The new opportunities bring programmers many new challenges, not only from technical perspective, but also from sociological perspective. We study programmer cognition in designing and developing multi-user, co-located coordinated systems. Programmer success, challenges, and barriers in the design and development suggest that many of Grudin’s challenges still remain because programmers ’ imagination has not been fully utilized in exploring the range of design possibilities for collaborative systems. Challenging associated limitations to programmers ’ “object world ” is highly desirable. TupleSpaces provide an infrastructure for doing so, by supporting more widespread exploration of pervasive coordination ideas. Author Keywords Web 2.0, TupleSpaces, coordination, programmer cognition ACM Classification Keywords H5.m. Information interfaces and presentation (e.g., HCI): group and organization interfaces, collaborative computing, computer-supported cooperative work

