Results 1 - 10
of
25
Signature Matching: a Tool for Using Software Libraries
- ACM Transactions on Software Engineering and Methodology
, 1995
"... this document are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of Wright Laboratory or the U. S. Government. The U. S. Government is authorized to reproduce and distribute reprints for Government pu ..."
Abstract
-
Cited by 106 (2 self)
- Add to MetaCart
this document are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of Wright Laboratory or the U. S. Government. The U. S. Government is authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation thereon. This manuscript is submitted for publication with the understanding that the U. S. Government is authorized to reproduce and distribute reprints for Governmental purposes. Authors' address: School of Computer Science, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213; email: amy;wing@cs.cmu.edu. To appear, ACM Transactions on Software Engineering and Methodology (TOSEM), April 1995. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. c fl 1995 ACM xxxx-xxxx/xx/xxxx-xxxx $xx.xx 2 \Delta A. Moormann Zaremski and J. M. Wing ware libraries successfully, especially as libraries increase in size, is the availability of good tools to organize, navigate through, and retrieve from libraries. Currently many libraries use the file system for their only organization (directories and files) and file system and editor commands for navigation and retrieval. For example, the local ML library is organized with categories of components as directories (e.g., local/lib/Container/, local/lib/Threads/); one uses ls and
Visualizing the Behavior of Object-Oriented Systems
- In Proceedings OOPSLA ’93
, 1993
"... Numerous classes, complex inheritance and containment hierarchies, and diverse patterns of dynamic interaction all contribute to difficulties in understanding, reusing, debugging, and tuning large object-oriented systems. To help overcome these difficulties, we introduce novel views of the behavior ..."
Abstract
-
Cited by 81 (3 self)
- Add to MetaCart
Numerous classes, complex inheritance and containment hierarchies, and diverse patterns of dynamic interaction all contribute to difficulties in understanding, reusing, debugging, and tuning large object-oriented systems. To help overcome these difficulties, we introduce novel views of the behavior of object-oriented systems and an architecture for creating and animating these views. We describe platform-independent techniques for instrumenting object-oriented programs, a language-independent protocol for monitoring their execution, and a structure for decoupling the execution of a subject program from its visualization. Case studies involving tuning and debugging of real systems are presented to demonstrate the benefits of visualization. We believe that visualization will prove to be a valuable tool for object-oriented software development.
The Reuse of Uses in Smalltalk Programming
- ACM Transactions on Computer-Human Interaction
, 1996
"... this article was given at ECOOP '93. ..."
Specification Matching for Software Reuse: A Foundation
- In Proceedings of the ACM Symposium on Software Reuse
, 1995
"... Using formal specifications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the well-defined syntax makes processing amenable to automation. We present specification matching as a method for ..."
Abstract
-
Cited by 30 (3 self)
- Add to MetaCart
Using formal specifications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the well-defined syntax makes processing amenable to automation. We present specification matching as a method for classification, retrieval, and modification of reusable components. A software component is specified in terms of order-sorted predicate logic. For both components and methods, we consider not only exact match, but also relaxed match and logical match for performing specification matching over a library of reusable software components. 1 Introduction Software reuse has been claimed to be a means for overcoming the software crisis [1, 2]. However, current techniques to represent and manage software component libraries are not sufficient. Information retrieval methods based on analyses of natural-language documentation have been proposed [3, 4] for constructing software libraries. Unfortuna...
A Learning Agent that Assists the Browsing of Software Libraries
- IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 1995
"... Locating software items is difficult, even for knowledgeable software designers, when searching in large, complex and continuously growing libraries. This paper describes a technique, we term active browsing. An active browser suggests to the designer items it estimates to be close to the target of ..."
Abstract
-
Cited by 23 (1 self)
- Add to MetaCart
Locating software items is difficult, even for knowledgeable software designers, when searching in large, complex and continuously growing libraries. This paper describes a technique, we term active browsing. An active browser suggests to the designer items it estimates to be close to the target of the search. The novel aspect of active browsing is that it is entirely unobtrusive: it infers its similarity measure from the designer's normal browsing actions, without any special input. Experiments are presented in which the active browsing system succeeds 40% of the time in identifying the target before the designer has found it. An additional experiment indicates that this approach does, indeed, speed-up search.
Using Formal Methods to Construct a Software Component Library
- Lecture Notes in Computer Science
, 1993
"... . Reusing software may greatly increase the productivity of software engineers and improve the quality of developed software. Software component libraries have been suggested as a means for facilitating reuse. Using formal specifications to represent software components facilitates the determinat ..."
Abstract
-
Cited by 23 (8 self)
- Add to MetaCart
. Reusing software may greatly increase the productivity of software engineers and improve the quality of developed software. Software component libraries have been suggested as a means for facilitating reuse. Using formal specifications to represent software components facilitates the determination of reusable software because they more precisely characterize the functionality of the software, and the well-defined syntax makes processing amenable to automation. This paper presents an approach, based on formal methods, to the classification and organization of reusable software components. From a set of formal specifications, a two-tiered hierarchy of software components is constructed. The formal specifications represent software that has been implemented and verified for correctness. The hierarchical organization of the software component specifications provides a means for storing, browsing, and retrieving reusable components that is amenable to automation. A prototype ...
Using English to Retrieve Software
- The Journal of Systems and Software
, 1995
"... This paper describes ROSA, a software reuse system based on the processing of the natural language descriptions of software artifacts. Lexical, syntactic and semantic analysis of software descriptions is performed to automatically extract both verbal and nominal phrases from descriptions and use thi ..."
Abstract
-
Cited by 20 (5 self)
- Add to MetaCart
This paper describes ROSA, a software reuse system based on the processing of the natural language descriptions of software artifacts. Lexical, syntactic and semantic analysis of software descriptions is performed to automatically extract both verbal and nominal phrases from descriptions and use this information to create frame-based indexing units for software components. Retrieval similarity measures provide good retrieval effectiveness by supporting semantic matching and processing of lexical relationships between terms. Some results from an experiment evaluating retrieval effectiveness are discussed. 1 Introduction This paper describes ROSA (Reuse Of Software Artifacts) a software reuse system based on the processing of the natural language descriptions of software artifacts [9][10][11][12]. The system aims at being cost-effective, domain independent and providing good retrieval effectiveness. Automatic indexing is required to turn software retrieval systems cost-effective. Reuse ...
Assessing Software Libraries by Browsing Similar Classes, Functions and Relationships
- in Proceedings of International Conference on Software Engineering
, 1999
"... Comparing and contrasting a set of software libraries is useful for reuse related activities such as selecting a library from among several candidates or porting an application from one library to another. The current state of the art in assessing libraries relies on qualitative methods. To reduce c ..."
Abstract
-
Cited by 19 (1 self)
- Add to MetaCart
Comparing and contrasting a set of software libraries is useful for reuse related activities such as selecting a library from among several candidates or porting an application from one library to another. The current state of the art in assessing libraries relies on qualitative methods. To reduce costs and/or assess a large collection of libraries, automation is necessary. Although there are tools that help a developer examine an individual library in terms of architecture, style, etc., we know of no tools that help the developer directly compare several libraries. With existing tools, the user must manually integrate the knowledge learned about each library. Automation to help developers directly compare and contrast libraries requires matching of similar components (such as classes and functions) across libraries. This is different than the traditional component retrieval problem in which components are returned that best match a user's query. Rather, we need to find those component...
Supporting Component-Based Software Development with Active Component Repository Systems
, 2001
"... ..."
A Software Reuse System Based on Natural Language Specifications
, 1993
"... Promoting software reuse practice requires more effective support. In this paper we discuss some problems in current software reuse systems and how current research in retrieval through natural language specifications addresses them. We introduce work in progress for a software reuse system that aim ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
Promoting software reuse practice requires more effective support. In this paper we discuss some problems in current software reuse systems and how current research in retrieval through natural language specifications addresses them. We introduce work in progress for a software reuse system that aims to provide high precision in retrieval by processing both queries in natural language and descriptions of components in a software library. Additional support for application developers (for understanding and adapting software components) and for library managers (for creation, organization and reorganization of reusable components) is also discussed. 1 Introduction A survey of application programmers [1], conducted to discover user needs and attitudes toward reuse, shows that users consider reuse worthwhile, but most of them (especially those without object-oriented experience) expect more from application generators or from tools for automatic programming than from reuse systems like br...

