CISUC

SRS Knowledge Indexing

Authors

Abstract

Any software development community or company large enough, comes across recurrent problems, or challenges in programming, and the probability is that someone has come across the same problem before and solved it or used some source of knowledge that helped him find a solution. If we could have access to this information, we could simplify, to some extent, the work of any development team by having a central platform that manages this knowledge, by efficiently storing, managing, searching and retrieving all kinds of knowledge produced in the development of software systems. This is the goal of the Semantic Reuse System (SRS), a platform where users can store their knowledge for other users to reuse, using the technologies of Semantic Web in order to maintain the integrity of the systems at end.
The SRS Platform at its current state only enables the submission of SDKE's by the people who developed them, the source code and documents developed prior to the installation of the SRS Platform were rendered useless in this approach. A tool that could be run autonomously through all the legacy documentation, diagrams, source code, and any valid type of file that can be turned into an SDKE was a solution that could largely increase the knowledge base that developers can use in their aid. Still, we were left with the problem of retrieving this knowledge in an efficient manner. For this system to be truly effective a solution should be found to successfully index and retrieve this information, so that the user doesn't end up with knowledge that he/she doesn't need.
For the purpose of this thesis, we sought to solve these challenges in two separate phases. In a first phase, with the development of a standalone application with connection to the SRS Platform, the SRS Legacy Code, it was intended for this application to be able to examine a repository of documents (e.g. source code, textual documents, diagrams, etc), create SDKE's from the gathered information, and submitting them to the SRS Platform for indexing and storing. The second phase consisted in the redesign of the existing submission and indexing module of the SRS Platform, by improving its effectiveness through methods of Natural Language Processing, Text Mining and Information Retrieval.
There was also an add-in for Microsoft Visual Studio which made use of the SRS functionalities, making it possible for the user of Visual Studio to make full use of the possibilities of the platform. Because this was and still is the best way for the developer to benefit from the SRS Platform capabilities, we would also develop a plug-in for the Eclipse SDK, which is an increasingly popular IDE among Java developers, and thus expanding the number of developers who are able to take advantage of these capabilities.
This was the first tool developed in the scope of this thesis. The main contributions of this thesis are the development of a module capable of analyze and extract sub topical segments of text; the implementation of two applications that allow us to interact with the SRS Platform; the modification of the Representation Ontology to handle the new objects created.

Related Project

SRS: Semantic Reuse System

MSc Thesis

SRS Knowledge Indexing, September 2008

Cited by

No citations found