Results 1 - 10
of
15
PIROL: A Case Study for Multidimensional Separation of Concerns in Software Engineering Environments
- In Proc. of OOPSLA 2000. ACM
, 2000
"... In this paper, we present our experience with applying multidimensional separation of concerns to a software engineering environment. By comparing two dierent designs of our system, we show the importance of separating integration issues from the implementation of the individual concerns. We present ..."
Abstract
-
Cited by 18 (10 self)
- Add to MetaCart
In this paper, we present our experience with applying multidimensional separation of concerns to a software engineering environment. By comparing two dierent designs of our system, we show the importance of separating integration issues from the implementation of the individual concerns. We present a model in which integration issues are encapsulated into rst{class connector objects and indicate how this facilitates the understandability, maintenance and evolution of the system. We identify issues of binding time, binding granularity and binding cardinality as important criteria in selecting an appropriate model for separation of concerns. We nally show how a good choice following these criteria and considering the requirements of software engineering environments leads to a system with dynamic congurability, high{level component integration and support for multiple instantiable views. Keywords Separation of concerns, software engineering environment, domain{specic language, co...
Using a hypertext model for traceability link conformance analysis
- In Proc. of the 2nd Int. Workshop on Traceability in Emerging Forms of Software Engineering
, 2003
"... A number of techniques for semi-automated traceability link recovery between source code and documentation have recently been proposed to support the reverse engineering and maintenance of legacy systems. This is only the first step in supporting the long term maintainability of such systems. A cruc ..."
Abstract
-
Cited by 16 (1 self)
- Add to MetaCart
A number of techniques for semi-automated traceability link recovery between source code and documentation have recently been proposed to support the reverse engineering and maintenance of legacy systems. This is only the first step in supporting the long term maintainability of such systems. A crucial issue, after recovering traceability links is analyzing their general conformance over time. That is, as a system is changed during evolution the validity and conformance of the links may change. Thus, conformance analysis must be performed to identify possible non-conformance of the links. The paper presents a holistic view of how to combine link recovery with conformance analysis that is facilitated by a formal hypertext model. This hypertext model not only supports complex linking structures (e.g., multi links) but also supports versioning of individual links. Such a model preserves and maintains over time the results of the reverse engineered traceability links. 1
Proxima - A presentation-oriented editor for structured documents
, 2004
"... this document appears as: This is a simple simple1 = if True then 1 3.4.1 Evaluation layer: Evaluator The first step in the presentation process is the computation of the derived information in the document. The component that takes care of this is the evaluator. The evaluator is parameterized ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
this document appears as: This is a simple simple1 = if True then 1 3.4.1 Evaluation layer: Evaluator The first step in the presentation process is the computation of the derived information in the document. The component that takes care of this is the evaluator. The evaluator is parameterized with an evaluation sheet, which is a declarative specification of the derived values. The evaluation sheet may be specified with an attribute grammar, but no final choice for the formalism has been made yet
Constraining software evolution
- International Conference on Software Management
, 2002
"... Software is multidimensional but the tools that support it are not. The lack of tool support causes the software artifacts representing different dimensions to evolve independently and inconsistently. In order to support the evolution of multidimensional software, an environment must ensure that the ..."
Abstract
-
Cited by 13 (2 self)
- Add to MetaCart
Software is multidimensional but the tools that support it are not. The lack of tool support causes the software artifacts representing different dimensions to evolve independently and inconsistently. In order to support the evolution of multidimensional software, an environment must ensure that the different dimensions evolve concurrently. This can be accomplished through an integration framework that maintains consistency of the different dimensions as they evolve. We have build a prototype of such a mechanism by setting up and maintaining constraints among artifacts representing the different software dimensions. This paper describes that prototype and our experiences with it to date. 1
Recovery of traceability links between software documentation and source code
- International Journal of Software Engineering and Knowledge Engineering
"... An approach for the semi-automated recovery of traceability links between software documentation and source code is presented. The methodology is based on the application of information retrieval techniques to extract and analyze the semantic information from the source code and associated documenta ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
An approach for the semi-automated recovery of traceability links between software documentation and source code is presented. The methodology is based on the application of information retrieval techniques to extract and analyze the semantic information from the source code and associated documentation. A semi-automatic process is defined based on the proposed methodology. The paper advocates the use of latent semantic indexing (LSI) as the supporting information retrieval technique. Two case studies using existing software are presented comparing this approach with others. The case studies show positive results for the proposed approach, especially considering the flexibility of the methods used.
Code bubbles: Rethinking the user interface paradigm of integrated development environments
- In Proc. ICSE
, 2010
"... Today’s integrated development environments (IDEs) are hampered by their dependence on files and file-based editing. We propose a novel user interface that is based on collections of lightweight editable fragments, called bubbles, which when grouped together form concurrently visible working sets. I ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
Today’s integrated development environments (IDEs) are hampered by their dependence on files and file-based editing. We propose a novel user interface that is based on collections of lightweight editable fragments, called bubbles, which when grouped together form concurrently visible working sets. In this paper we describe the design of a prototype IDE user interface for Java based on working sets. A quantitative evaluation shows that developers could expect to view a sizeable number of functions concurrently with relatively few UI operations. A qualitative user evaluation with 23 professional developers indicates a high level of excitement, interest, and potential benefits and uses.
Incremental Maintenance of Software Artifacts
- Proceedings of the 21st IEEE International Conference on Software Maintenance
, 2005
"... Abstract—Software is multidimensional, but the tools that support it are not. This lack of tool support causes the software artifacts representing different dimensions to evolve independently and to become inconsistent over time. In order to properly support the evolution of software, one must ensur ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Abstract—Software is multidimensional, but the tools that support it are not. This lack of tool support causes the software artifacts representing different dimensions to evolve independently and to become inconsistent over time. In order to properly support the evolution of software, one must ensure that the different dimensions evolve concurrently. We have built a software development tool, CLIME, that uses constraints implemented as database queries to ensure just this. Our approach makes the tool responsible for detecting inconsistencies between software design, specifications, documentation, source code, test cases, and other artifacts without requiring any of these to be a primary representation. The tool works incrementally as the software evolves, without imposing a particular methodology or process. It includes a front end that lets the user explore and fix current inconsistencies. This paper describes the basis for CLIME, the techniques underlying the tool, the interface provided to the programmer, the incremental maintenance of constraints between these artifacts, and our experiences. Index Terms—Software maintenance, evolution, programming tools. 1
The case for multiple views
- In ICSE 2004 Workshop on Directions in Software Engineering Environments
, 2004
"... We argue that viewing a program as a linear sequence of symbols on paper or on a display is outmoded and unnecessarily restrictive. Instead, programs should be regarded as complex multi-dimensional artifacts on which linear text provides but one possible view. Freeing ourselves from these restrictio ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
We argue that viewing a program as a linear sequence of symbols on paper or on a display is outmoded and unnecessarily restrictive. Instead, programs should be regarded as complex multi-dimensional artifacts on which linear text provides but one possible view. Freeing ourselves from these restrictions is very difficult: it requires not only a modest amount of new technology, but also a qualitative change in the way that programmers think. However, the potential benefits are enormous. Multiple views make it easier to understand complex programs, and provide a unifying framework for many common program transformations. In addition, Multiple views provide a solution for language designers trying to choose between competing alternatives: provide the advantages of both, but in different views. 1.
JASPER: An Eclipse Plug-In to Facilitate Software Maintenance Tasks
"... Recent research has shown that developers spend significant amounts of time navigating around code. Much of this time is spent on redundant navigations to code that the developer previously found. This is necessary today because existing development environments do not enable users to easily collect ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Recent research has shown that developers spend significant amounts of time navigating around code. Much of this time is spent on redundant navigations to code that the developer previously found. This is necessary today because existing development environments do not enable users to easily collect relevant information, such as web pages, textual notes, and code fragments. JASPER is a new system that allows users to collect relevant artifacts into a working set for easy reference. These artifacts are visible in a single view that represents the user's current task and allows users to easily make each artifact visible within its context. We predict that JASPER will significantly reduce time spent on redundant navigations. In addition, JASPER will facilitate multitasking, interruption management, and sharing task information with other developers.
Customizing Lotus Notes to Build Software Engineering Tools
- In CASCON ’03: Proceedings of the 2003 Conference of the Centre for Advanced Studies
, 2003
"... Many software engineering research tools are stand-alone applications that have trouble interoperating with other development tools and do not fit well into the software developers' established work processes. Our main hypothesis is that in order for new tools to be adopted effectively, they must be ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Many software engineering research tools are stand-alone applications that have trouble interoperating with other development tools and do not fit well into the software developers' established work processes. Our main hypothesis is that in order for new tools to be adopted effectively, they must be compatible with both existing users and existing tools.

