Results 1 - 10
of
25
LaSSIE: a Knowledge-Based Software Information System
, 1991
"... Invisibility is an inherent and significant problem in the task of developing large software systems. There are no direct solutions to this problem ..."
Abstract
-
Cited by 160 (7 self)
- Add to MetaCart
Invisibility is an inherent and significant problem in the task of developing large software systems. There are no direct solutions to this problem
Genoa - a customizable, front-end retargetable source code analysis framework
- ACM Transactions on Software Engineering and Methodology
, 1999
"... Code analysis tools provide support for such software engineering tasks as program understanding, software metrics, testing, and reengineering. In this article we describe GENOA, the framework underlying application generators such as Aria and GEN� � which have been used to generate a wide range of ..."
Abstract
-
Cited by 33 (4 self)
- Add to MetaCart
Code analysis tools provide support for such software engineering tasks as program understanding, software metrics, testing, and reengineering. In this article we describe GENOA, the framework underlying application generators such as Aria and GEN� � which have been used to generate a wide range of practical code analysis tools. This experience illustrates front-end retargetability of GENOA; we describe the features of the GENOA framework that allow it to be used with different front ends. While permitting arbitrary parse tree computations, the GENOA specification language has special, compact iteration operators that are tuned for expressing simple, polynomial-time analysis programs; in fact, there is a useful sublanguage of the GENOA language that can express precisely all (and only) polynomial-time (PTIME) analysis programs on parse trees. Thus, we argue that the GENOA language is a simple and convenient vehicle for implementing a range of analysis tools. We also argue that the “front-end reuse ” approach of GENOA offers an important advantage for tools aimed at large software projects: the reuse of complex, expensive build procedures to run generated tools over large source bases. In this article, we describe the GENOA framework and our experiences with it.
A Survey of Hypertext
, 1995
"... Hypertext is a computer-supported medium for information in which many interlinked documents are displayed with their links on a high-resolution computer screen. The links may be directly activated by a pointing device such as a mouse, which causes the document referenced by the link to appear insta ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
Hypertext is a computer-supported medium for information in which many interlinked documents are displayed with their links on a high-resolution computer screen. The links may be directly activated by a pointing device such as a mouse, which causes the document referenced by the link to appear instantly in a new window on the screen. While the concepts of hypertext are not new, the technology to make it effective is new. This paper reviews most of the existing hypertext systems, and then explores in some detail the fundamental features of hypertext and some of the design options in constructing hypertext systems. The advantages and disadvantages of hypertext are discussed in terms of four major application categories: macro literary systems, problem exploration systems, structured browsing systems, and systems developed to explore hypertext technology.
Software Maintenance: An Approach to Impact Analysis of Objects Change
- Software - Practice and Experience
, 1995
"... This paper presents a knowledge-based model for both. This model is generic because it is not based on any language or design method. Therefore, it can be applied on the basis of a `problem' to be solved. It also captures four life-cycle phases: requirement, specification, design and programming. We ..."
Abstract
-
Cited by 15 (1 self)
- Add to MetaCart
This paper presents a knowledge-based model for both. This model is generic because it is not based on any language or design method. Therefore, it can be applied on the basis of a `problem' to be solved. It also captures four life-cycle phases: requirement, specification, design and programming. We also provide a domain-specific view that allows the dependency analysis of fine-grain objects. Two kinds of dependencies are identified: inter-phase dependencies, these are dependency relations between the objects of one phase and another; and intra-phase dependencies, these are dependency relations between the objects of the same phase. In order to validate this model, we also present a prototype based on two life-cycle phases: design and programming
Variorum: A Multimedia-Based Program Documentation System
- In IEEE Multimedia 2000
, 1998
"... Conventional software documentation systems are mostly based on textual descriptions that explain or annotate the program's source code. Because these systems rely solely on texts, it is dicult for program authors to describe overall algorithm structures and detailed implementation techniques of the ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
Conventional software documentation systems are mostly based on textual descriptions that explain or annotate the program's source code. Because these systems rely solely on texts, it is dicult for program authors to describe overall algorithm structures and detailed implementation techniques of the programs, especially those that require visual presentation. Variorum is one of the rst, if not the rst, software documentation systems that allows program authors to record the process of \walking through" their own code using multimedia technology, specically, text, audio, and digital pen drawing. This approach greatly improves the interactivity and exibility in the software documentation process, as well as the quality of resulting software implementation documentations. In addition, to broaden its applicability and to reduce the implementation complexity, Variorum is designed to inter-operate with the WWW technology, in that the program source code les and their annotations are sto...
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
Task Oriented Software Understanding
- In Proceedings of Automated Software Engineering
, 1998
"... The main factors that affect software understanding are the complexity of the problem solved by the program, the program text, the user's mental ability and experience and the task being performed. This paper describes a planning approach solution to the software understanding problem that focuses o ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
The main factors that affect software understanding are the complexity of the problem solved by the program, the program text, the user's mental ability and experience and the task being performed. This paper describes a planning approach solution to the software understanding problem that focuses on the user's task and expertise. First, user questions about software artifacts have been studied and the most commonly asked questions are identified. These questions are organized into a question model and procedures for answering them are developed. Then, the patterns in user questions while performing certain tasks have been studied and these patterns are used to build generic task models. The explanation system uses these task models in several ways. The task model, along with a user model, is used to generate explanations tailored to the user's task and expertise. In addition, the task model allows the system to provide explicit task support in its interface. Keywords software explan...
Formal and Informal Aspects of Requirements Tracing
"... . We discuss some formal and informal issues regarding requirements ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
. We discuss some formal and informal issues regarding requirements
DynaMICs: Comprehensive Support for Run-Time Monitoring
- Proceedings of the First Workshop on Runtime Verification (RV’01
, 2001
"... Software engineering strives to enable the economic construction of software systems that behave reliably, predictably, and safely. In other engineering disciplines, safety is assured in part by detailed monitoring of processes. In software, we may achieve some level of confidence in the operation o ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Software engineering strives to enable the economic construction of software systems that behave reliably, predictably, and safely. In other engineering disciplines, safety is assured in part by detailed monitoring of processes. In software, we may achieve some level of confidence in the operation of programs by monitoring their execution. DynaMICs is a software tool that facilitates the collection and use of constraints for software systems. In addition, it supports traceability by mapping constraints to system artifacts. Constraint specifications are stored separately from code; constraint-monitoring code is automatically generated from the specifications and inserted into the program at appropriate places; and constraints are verified at execution time. These constraint checks are triggered by changes made to variable values. We describe the architecture of DynaMICs, discuss alternative verification techniques, and outline research directions for the DynaMICs project.
The Design of a Document Database
- in Proceedings of the Conference on Document Processing Systems, ACM
, 1988
"... In this paper a Document Base Management System is proposed that incorporates conventional database and hypertext ideas into a document database. The Document Base operates as a server, users access the database through different application programs. The query language which applications use to ret ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
In this paper a Document Base Management System is proposed that incorporates conventional database and hypertext ideas into a document database. The Document Base operates as a server, users access the database through different application programs. The query language which applications use to retrieve documents is described.

