Databases Reference
In-Depth Information
source code with other assets, such as requirements and test cases. This feature
would be very useful. For example, a software engineer could search some re-
quirements and retrieve not only them, but also part of the architecture, source
code and test cases. However, this feature was not considered in the project, nor
in any of B.A.R.T's previous versions.
Observations. Nowadays, there are several projects based on Eclipse, for exam-
ple, to monitor and log the user's activity during software development. In the
project, we did not use it and I believe that this perception - with the consen-
sus of the user, of course - could be very important to understand how software
engineers reuse assets.
Software Product Lines. The different versions in the B.A.R.T project were de-
veloped separately. Currently, I believe that software product line ideas could
be very useful to manage the different “products” and features available in the
source code search domain.
Reuse. The area of search and retrieval of software components is not new and
several solutions were proposed. However, in general, they are created from
scratch. I believe that several projects from the past could be used as a starting
point to develop new tools and approaches.
Database for benchmarking. In some areas it is common to use standard bench-
marking. In the search and retrieval area this issue was solved some years ago
[ 12 ]. Its use is crucial to understand the current limitations of the solutions and
to propose new ones.
Services and Models. Service-oriented development and Model-Driven develop-
ment are becoming more popular and mature. I believe that the new efforts in the
search and retrieval area should consider these issues in the development of new
solutions. A preliminary work in this direction can be seen in [ 16 ].
Google. Along the years of the B.A.R.T project, a frequent nightmare was related
to Google. All the team was constantly worried with the possibility of Google en-
tering in this game. Some years later, the nightmare is still there. As a personal
opinion, I think researchers in the area should consider this aspect, but not de-
crease the efforts because of it.
7.4 Conclusion
Software reuse is an important aspect for organizations interested in benefits re-
lated to cost, productivity and quality. The reuse literature presents different ways
to achieve it, such as methods, processes, and specially, environments and tools.
Among the reuse tools, the search and retrieval of source code had an important
role since the reuse of source code is the most common way to perform reuse (even
non-systematic). This area is very rich in proposed solutions, however, the avail-
able publications are related to isolated efforts. In this sense, this chapter presented
7 years of experience with the B.A.R.T project. It discussed the main improvements
in the tool along the years, as well as some insightful thoughts that can be useful for
Search WWH ::




Custom Search