Results 1 -
7 of
7
Modeling history to analyze software evolution
- INTERNATIONAL JOURNAL ON SOFTWARE MAINTENANCE: RESEARCH AND PRACTICE (JSME)
, 2006
"... The histories of software systems hold useful information when reasoning about the systems at hand or when reasoning about general laws of software evolution. Over the past 30 years more and more research has been spent on understanding software evolution. However, the approaches developed so far do ..."
Abstract
-
Cited by 29 (14 self)
- Add to MetaCart
The histories of software systems hold useful information when reasoning about the systems at hand or when reasoning about general laws of software evolution. Over the past 30 years more and more research has been spent on understanding software evolution. However, the approaches developed so far do not rely on an explicit metamodel, and thus, they make it difficult to reuse or compare their results. We argue that there is a need for an explicit meta-model for software evolution analysis. We present a survey of the evolution analyses and deduce a set of requirements that an evolution meta-model should have. We define, Hismo, a meta-model in which history is modeled as an explicit entity. Hismo adds a time layer on top of structural information, and provides a common infrastructure for expressing and combining evolution analyses and structural analyses. We validate the usefulness of our a meta-model by presenting how different analyses are expressed on it. key words: Software evolution, meta-modeling, history, reverse engineering, evolution analysis.
On the use of visualization to support awareness of human activities in software development: a survey and a framework
- Proceedings of the 2005 ACM symposium on Software visualization
, 2005
"... 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 potent ..."
Abstract
-
Cited by 28 (4 self)
- Add to MetaCart
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.
A Layered Architecture for Uniform Version Management
, 2000
"... Version management is a key function of software configuration management (SCM). A big variety of version models has been realized in both commercial systems and research prototypes. These version models differ with respect to the objects put under version control (files, directories, entitles, obje ..."
Abstract
-
Cited by 18 (1 self)
- Add to MetaCart
Version management is a key function of software configuration management (SCM). A big variety of version models has been realized in both commercial systems and research prototypes. These version models differ with respect to the objects put under version control (files, directories, entitles, objects), the organization of versions (version graphs rs. multi-dimensional version spaces), the granularity of versioning (whole software products rs. individual components), emphasis on states rs. emphasis on changes (staters. change-based versioning), rules for version selection, etc. We present UVM, a Uniform Version Model - and its support architecture - for SCM. Unlike other unification approaches such as e.g. UML for object-oriented modeling, we do not assemble all the concepts having been introduced in previous systems. Instead, we define a base model that is built on a small number of concepts. Specific version models may be expressed in terms of this base model. Our approach
Project History as a Group Memory: Learning From the Past
, 2004
"... New members of software development teams must come up-to-speed on a large amount of information before becoming productive, even if they have previous software development experience. Often, this knowledge is gained through mentoring: an experienced colleague monitors the newcomer’s progress on his ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
New members of software development teams must come up-to-speed on a large amount of information before becoming productive, even if they have previous software development experience. Often, this knowledge is gained through mentoring: an experienced colleague monitors the newcomer’s progress on his or her first assigned tasks, and provides feedback and advice. The mentor is the person the newcomer turns to for help when stuck; these interactions are typically informal and lightweight, such as quick questions asked over the cubicle divider or at the water cooler. However, these light-weight channels are not always available in virtual teams, where the members of the team are not collocated. Moreover, workers are less likely to help their non-collocated colleagues, making it even harder for a newcomer to come up to speed on a project. The thesis of this dissertation is based on the idea that the collection of all artifacts created in the course of development of a software system implicitly forms a group memory—a repository of information that a work group can use to benefit from its past experience to respond more effectively to the present needs. I call this implicitly-formed group memory a project memory and make three claims: (1) that newcomer software developers can use information from the project memory about past modifications completed on the project to help them effectively perform modification tasks
A gentle overview of software visualisation
- Psychology of Programming Interest Group (PPIG) Newsletter
, 2006
"... Software design is a realm of messy or “wicked ” problems that are often too big, too ill-defined, and too complex for easy comprehension and solution (DeGrace and Stahl, 1998). Software itself is created, complex, abstract, and difficult to observe. Software is different from created physical artef ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Software design is a realm of messy or “wicked ” problems that are often too big, too ill-defined, and too complex for easy comprehension and solution (DeGrace and Stahl, 1998). Software itself is created, complex, abstract, and difficult to observe. Software is different from created physical artefacts, because it lacks their tangibility and visibility (e.g., What does a compiler look like? What is
White Coats: Web-Visualization of Evolving Software
- in 3D. In Ducasse et al
"... Versioning systems to store, handle, and retrieve the evolution of software systems have become a common good practice for both industrial and open-source software systems, currently exemplified by the wide usage of the CVS system. The stored information can then be manually retrieved over a command ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Versioning systems to store, handle, and retrieve the evolution of software systems have become a common good practice for both industrial and open-source software systems, currently exemplified by the wide usage of the CVS system. The stored information can then be manually retrieved over a command line or looked at with a browser using the ViewCVS tool. However, the information contained in the repository is difficult to navigate as ViewCVS provides only a textual view of single versions of the source files. In this paper we present an approach to visualize a CVS repository in 3D (using VRML) by means of a visualization service called White Coats. The viewer can easily navigate and interact with the visualized information. 1.

