Software Component Search
MetadataShow full item record
An important problem in software development is to make better use of software libraries by improving the search and retrieval process, that is, by making it easier to find the few components you may want among the many you do not want. This paper suggests some ideas to improve this process: (1) Associate an algebraic specification with each software component; these specifications should include complete syntactic information, but need have only partial semantic information. (2) User queries consist of syntactic declarations plus results for sample executions. (3) User queries may be posed in standard programming notation, which is then automatically translated into algebraic notation. (4) Search is organized as ranked multi-level filtering, where each level yields a ranked set of partial matches. (5) Early stages of filtering narrow the search space by using computationally simple procedures, such as checking that the number of types is adequate. (6) Middle levels may find partial signature matches. (7) Pre-computed catalogues (i.e., indexes) can speed up early and middle level filtering. (8) Semantic information is used in a final filter with term rewriting, but complete verification is not attempted. (9) The series of filters is implemented incrementally, so as to backtrack to lower ranked components in case of failure. This approach avoids the need for complex theorem proving, and does not require any knowledge of algebraic specification from the user. Moreover, it does not require either specifications or queries to be complete or even fully correct, because it yields partial matches ranked by how well they fit the query. The paper concludes with a description of some preliminary experiments and some suggestions for further experiments.
Journal of Systems Integration (Special issue on Computer Aided Prototyping), Vol. 6, No. 1-2, pp. 93-134.
RightsThis publication is a work of the U.S. Government as defined in Title 17, United States Code, Section 101. Copyright protection is not available for this work in the United States.
Showing items related by title, author, creator and subject.
Beuerlein, Robert (Monterey, California: Naval Postgraduate School, 2018-12);The post-Gaddafi Libyan war continues along fractured lines of allegiance. Various militia networks are in open armed conflict with each other and pitted against other jihadist networks. The central government is split in ...
Diaz, J. Enrique Reyes (Monterey, California. Naval Postgraduate School, 1999);In an era when mines are inexpensive and easily accessible, present mine detection and area reconnaissance capabilities are insufficient to enable unencumbered maneuver in the littoral regions. Unmanned undersea vehicles ...
Johnson, Jean M. (Monterey, California. Naval Postgraduate School, 2010-04-30); NPS-AM-10-040The reuse of software and related artifacts is a key tenant of DoD acquisition improvement initiatives, including the Naval Open Architecture program. While there are many inhibitors of reuse, software repositories are ...