Results 1 - 10
of
114
Palantír: Raising Awareness among Configuration Management Workspaces
, 2003
"... Current configuration management systems promote workspaces that isolate developers from each other. This isolation is both good and bad. It is good, because developers make their changes without any interference from changes made concurrently by other developers. It is bad, because not knowing whic ..."
Abstract
-
Cited by 96 (19 self)
- Add to MetaCart
Current configuration management systems promote workspaces that isolate developers from each other. This isolation is both good and bad. It is good, because developers make their changes without any interference from changes made concurrently by other developers. It is bad, because not knowing which artifacts are changing in parallel regularly leads to problems when changes are promoted from workspaces into a central configuration management repository. Overcoming the bad isolation, while retaining the good isolation, is a matter of raising awareness among developers, an issue traditionally ignored by the discipline of configuration management. To fill this void, we have developed Palantr, a novel workspace awareness tool that complements existing configuration management systems by providing developers with insight into other workspaces. In particular, the tool informs a developer of which other developers change which other artifacts, calculates a simple measure of severity of those changes, and graphically displays the information in a configurable and generally non-obtrusive manner. To illustrate the use of Palantr, we demonstrate how it integrates with two representative configuration management systems.
Lineage retrieval for scientific data processing: a survey
- ACM Computing Surveys
, 2005
"... Scientific research relies as much on the dissemination and exchange of data sets as on the publication of conclusions. Accurately tracking the lineage (origin and subsequent processing history) of scientific data sets is thus imperative for the complete documentation of scientific work. Researchers ..."
Abstract
-
Cited by 91 (1 self)
- Add to MetaCart
Scientific research relies as much on the dissemination and exchange of data sets as on the publication of conclusions. Accurately tracking the lineage (origin and subsequent processing history) of scientific data sets is thus imperative for the complete documentation of scientific work. Researchers are effectively prevented from
Highly Reliable Upgrading of Components
- In Proceedings of the 21st International Conference on Software Engineering
, 1999
"... After a system is deployed, fixes, enhancements, and modifications all occur that change the components that make up the system. Unfortunately, new versions of components can introduce new errors and break existing, depended-upon behavior. When this happens, the old component version could have prov ..."
Abstract
-
Cited by 53 (6 self)
- Add to MetaCart
After a system is deployed, fixes, enhancements, and modifications all occur that change the components that make up the system. Unfortunately, new versions of components can introduce new errors and break existing, depended-upon behavior. When this happens, the old component version could have provided the correct behavior, but it is no longer part of the system. We propose a framework for upgrading system components that, instead of removing the old version of the component, keeps multiple versions of a component running. Doing so allows behavior to be utilized from all versions, and maintains system integrity and correctness even in the presence of newly introduced errors. This framework ensures that the move towards dynamic, configurable software systems does not lessen, but rather provides capabilities to enhance, the reliability that software will achieve through the next century. 1 INTRODUCTION Users fear upgrades. This unfortunate but true statement reflects the current para...
Using Origin Analysis to Detect Merging and Splitting of Source Code Entities
, 2005
"... Merging and splitting source code entities is a common activity during the lifespan of a software system; as developers rethink the essential structure of a system or plan for a new evolutionary direction, so must they be able to reorganize the design artifacts at various abstraction levels as seems ..."
Abstract
-
Cited by 51 (3 self)
- Add to MetaCart
Merging and splitting source code entities is a common activity during the lifespan of a software system; as developers rethink the essential structure of a system or plan for a new evolutionary direction, so must they be able to reorganize the design artifacts at various abstraction levels as seems appropriate. However, while the raw effects of such changes may be plainly evident in the new artifacts, the original context of the design changes is often lost. That is, it may be obvious which characters of which files have changed, but it may not be obvious where or why moving, renaming, merging, and/or splitting of design elements has occurred. In this paper, we discuss how we have extended origin analysis [1], [2] to aid in the detection of merging and splitting of files and functions in procedural code; in particular, we show how reasoning about how call relationships have changed can aid a developer in locating where merges and splits have occurred, thereby helping to recover some information about the context of the design change. We also describe a case study of these techniques (as implemented in the Beagle tool) using the PostgreSQL database system as the subject.
Managing Evolving Workflow Specifications
- IN PROC. OF THE 3 RD INT. IFCIS CONF. ON COOPERATIVE INFORMATION SYSTEMS (COOPIS'98
, 1998
"... Dynamic evolution of workflow models due to process (re)engineering activities and dynamic changing situations of the real process is one of the most important challenges in workflow management. In this paper, we present an approach for the management of evolving workflow specifications which copes ..."
Abstract
-
Cited by 30 (5 self)
- Add to MetaCart
Dynamic evolution of workflow models due to process (re)engineering activities and dynamic changing situations of the real process is one of the most important challenges in workflow management. In this paper, we present an approach for the management of evolving workflow specifications which copes with the evolution of a workflow schema and the dynamic modification of workflow instances. The approach is based on the integrated modeling of workflow schema and instance ele- ments, the separated definition of `what to do' and `how to do' in the workflow schema, late binding of workflows at run-time, and the versioning of the workflow schema. On this basis, we support lazy, eager, and selective propagation as well as local customization of instances and their upward propagation. Furthermore, we address the problem of managing consistent configurations of the versioned entities of a workflow schema. In our workflow-specific versioning approach, the consistency of the workflow configuration...
Versioning Hypermedia
- ACM Computing Surveys
, 1999
"... Abstract: Keeping multiple versions of the same electronic artifact is a necessity in many authoring fields, and a serious advantage in all of them. Hypermedia adds to that the issue of relationship management. This poses a few additional problems, especially conceptual ones, but it also provides a ..."
Abstract
-
Cited by 23 (2 self)
- Add to MetaCart
Abstract: Keeping multiple versions of the same electronic artifact is a necessity in many authoring fields, and a serious advantage in all of them. Hypermedia adds to that the issue of relationship management. This poses a few additional problems, especially conceptual ones, but it also provides a reliable and safe solution for the well-known problem of the referential integrity of links. The field of hypermedia has dealt with versioning issues for a long time, since Xanadu considered it a fundamental mechanism for its inner workings. Newer systems, and an important protocol for the WWW, WebDAV, constitute modern approaches to the problem.
Source Tree Composition
- In Proceedings: Seventh International Conference on Software Reuse, volume 2319 of LNCS
, 2001
"... Dividing software systems in components improves software reusability as well as software maintainability. Components live at several levels, we concentrate on the implementation level where components are formed by source files, divided over directory structures. Such source code components are usu ..."
Abstract
-
Cited by 23 (9 self)
- Add to MetaCart
Dividing software systems in components improves software reusability as well as software maintainability. Components live at several levels, we concentrate on the implementation level where components are formed by source files, divided over directory structures. Such source code components are usually strongly coupled in the directory structure of a software system. Their compilation is usually controlled by a single global build process. This entangling of source trees and build processes often makes reuse of source code components in different software systems difficult. It also makes software systems inflexible because integration of additional source code components in source trees and build processes is difficult. This paper's subject is to increase software reuse by decreasing coupling of source code components. It is achieved by automized assembly of software systems from reusable source code components and involves integration of source trees, build processes, and configuration processes. Application domains include generative programming, product-line architectures, and commercial off-the-shelf (COTS) software engineering.
Using the transformational approach to build a safe and generic data synchronizer
- In Proceedings of ACM Group 2003 Conference, November 9–12 2003
, 2003
"... Reconciliating divergent data is an important issue in concurrent engineering, mobile computing and software configuration management. Currently, a lot of synchronizers or merge tools perform reconciliations. However, they do not define what is the correctness of their synchronisation. In this paper ..."
Abstract
-
Cited by 22 (11 self)
- Add to MetaCart
Reconciliating divergent data is an important issue in concurrent engineering, mobile computing and software configuration management. Currently, a lot of synchronizers or merge tools perform reconciliations. However, they do not define what is the correctness of their synchronisation. In this paper, we propose to use a transformational approach as the basic model for reasonning about synchronisation. We propose an algorithm and specific transformation functions that realize a file system synchronisation. Unlike classic synchronizers, our synchronizer ensures properties of convergence, causality and intention preservation and is extensible to new data types.
Visual Data Mining in Software Archives
- 2005 ACM SYMPOSIUM ON SOFTWARE VISUALIZATION (SOFTVIS '05)
, 2005
"... Software archives contain historical information about the development process of a software system. Using data mining techniques rules can be extracted from these archives. In this paper we discuss how standard visualization techniques can be applied to interactively explore these rules. To this en ..."
Abstract
-
Cited by 20 (0 self)
- Add to MetaCart
Software archives contain historical information about the development process of a software system. Using data mining techniques rules can be extracted from these archives. In this paper we discuss how standard visualization techniques can be applied to interactively explore these rules. To this end we extended the standard visualization techniques for association rules and sequence rules to also show the hierarchical order of items. Clusters and outliers in the resulting visualizations provide interesting insights into the relation between the temporal development of a system and its static structure. As an example we look at the large software archive of the MOZILLA open source project. Finally we discuss what kind of regularities and anomalies we found and how these can then be leveraged to support software engineers. 1.
Sourcerer: A search engine for open source code supporting structure-based search
- In Proc. Int’l Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’06
, 2006
"... sourcerer is a search engine for open source code that extracts fine-grained structural information from the code. This information is used both to implement a basic notion of code rank and to enable search forms that go beyond conventional keyword-based searches. sourcerer supports two types of sea ..."
Abstract
-
Cited by 20 (1 self)
- Add to MetaCart
sourcerer is a search engine for open source code that extracts fine-grained structural information from the code. This information is used both to implement a basic notion of code rank and to enable search forms that go beyond conventional keyword-based searches. sourcerer supports two types of searches: (1) implementations, and their use; and (2) program structures. Several schemes were compared for ranking the results of code search. Results are reported involving 1,555 open source Java projects, corresponding to 254 thousand classes and 17 million LOCs. Of the schemes compared, the scheme that produced the best search results was one consisting of a combination of (a) the standard TF-IDF technique over Fully Qualified Names (FQNs) of code entities, with (b) a “boosting ” factor for terms found towards the right-most handside of FQNs, and (c) a composition with a graph-rank algorithm that identifies popular classes. 1

