Results 1 -
7 of
7
Telos: Representing Knowledge About Information Systems
- ACM Transactions on Information Systems
, 1990
"... This paper describes a language that is intended to support software engineers in the development of information systems throughout the software lifecycle. This language is not a programming language. Following the example of a number of other software engineering projects, our work is based on the ..."
Abstract
-
Cited by 206 (42 self)
- Add to MetaCart
This paper describes a language that is intended to support software engineers in the development of information systems throughout the software lifecycle. This language is not a programming language. Following the example of a number of other software engineering projects, our work is based on the premise that information system development is knowledge-intensive and that the primary responsibility of any language intended to support this task is to be able to formally represent the relevant knowledge.
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 Cooperative Program Understanding Environment
- Journal of Software Maintenance
, 1994
"... The large size and high-percentage of domain-specific code in most legacy systems makes it unlikely that automated understanding tools will be able to completely understand them. Yet automated tools can clearly recognize portions of the design. That suggests exploring environments in which programme ..."
Abstract
-
Cited by 20 (5 self)
- Add to MetaCart
The large size and high-percentage of domain-specific code in most legacy systems makes it unlikely that automated understanding tools will be able to completely understand them. Yet automated tools can clearly recognize portions of the design. That suggests exploring environments in which programmer and system work together to understand legacy software. This paper describes such an environment that supports programmer and system cooperating to extract an object-oriented design from legacy software systems. It combines an automated program understanding component that recognizes standard implementations of domain independent plans with with a structured notebook that the programmer uses to link object-oriented design primitives to arbitrary source code fragments. This jointly extracted information is used to support conceptual queries about the program's code and design. 1 Introduction The standard goal of most program understanding efforts is a tool that takes source code and extrac...
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...
Extensible Knowledge Representation: the Case of Description Reasoners
- Journal of artificial intelligence research
, 1999
"... This paper o#ers an approach to extensible knowledge representation and reasoning for the Description Logic family of formalisms. The approach is based on the notion of adding new concept constructors, and includes a heuristic methodology for specifying the desired extensions, as well as a modula ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
This paper o#ers an approach to extensible knowledge representation and reasoning for the Description Logic family of formalisms. The approach is based on the notion of adding new concept constructors, and includes a heuristic methodology for specifying the desired extensions, as well as a modularized software architecture that supports implementing extensions. The architecture detailed here falls in the normalize-compared paradigm, and supports both intentional reasoning (subsumption) involving concepts, and extensional reasoning involving individuals after incremental updates to the knowledge base. The resulting approach can be used to extend the reasoner with specialized notions that are motivated by specific problems or application areas, such as reasoning about dates, plans, etc. In addition, it provides an opportunity to implement constructors that are not currently yet su#ciently well understood theoretically, but are needed in practice. Also, for constructors that ar...
Task Orientation and Tailoring of Interactive Software Explanations
- In Proceedings of the 6th Working Conference on Reverse Engineering, Atlanta (GA
, 1999
"... This paper describes a planning approach solution to the software understanding problem that focuses on the user's task and expertise. This solution is implemented in a software explanation system as follows: First, user questions about software artifacts have been studied and the most commonly aske ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper describes a planning approach solution to the software understanding problem that focuses on the user's task and expertise. This solution is implemented in a software explanation system as follows: 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 during task performance have been studied and these patterns are used to build generic task models. These task models, along with a user model, are used to generate explanations tailored to the user's task and expertise. In addition, the task models allows the system to provide explicit task support in its interface. An evaluation experiment with human subjects is conducted to determine the effects of this explanation tool on software understanding. The tool is found to improve the software understanding significantly. It is al...
User and Task Tailored Software Explanations
, 1999
"... 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 1 (0 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. This solution is implemented in a software explanation system as follows. 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 ...

