[Xapian-devel] Project for a group of 5

Olly Betts olly at survex.com
Sun Mar 9 23:47:36 GMT 2014


On Fri, Mar 07, 2014 at 10:05:08PM +0530, Siddhant Mutha wrote:
> We're a group of 5 CS undergrads. As a part of our Software Engineering
> course, we are required to work on a large scale software to understand the
> design of such software. For this, open source is the best choice.
> We have around 1.5 months for the project (mid-March to April end) and
> would like to know whether there is any sort of work which can be taken up
> by us.

(For the benefit of other list readers who aren't on IRC, this was asked
first on IRC and I suggested asking on the list in case other people had
any good ideas).

Having thought had a chance to think about it, I've come up with a
couple of fairly open ended projects, either of which would give you a
good idea of what working on a large scale piece of software is like,
yet offer a fairly gentle introduction (no need to understand the
whole system before you can start):

* One possible project would be to set up a system using Xapian to index
  and search a large number of documents, and use profiling tools to
  identify bottlenecks in the code.

  Where you find code which is taking a lot of time, you can try to
  improve the situation.

* Another is to improve test coverage.  We can generate reports of how
  well our testsuite covers the code by using gcov and lcov - you can
  see a regularly updated report here:

  http://lcov.xapian.org/

  Currently we have around 90% of source code lines and 90% of functions
  exercised by the testsuite, but it's quite uneven - many files are
  over 90% but some are much lower.  And coverage of branches (i.e.
  whether a branch in the code is both taken and not taken during a run
  of the testsuite) is rather poor.

  A useful project would be looking through the coverage report, and
  finding places where writing a new testcase would improve coverage.
  You can also try to fix any bugs found by doing this, or at least open
  bug reports for them (we've found quite a few bugs in the past by
  writing new testcases to improve test coverage).

Do either of those appeal?

If not, do you know what sort of work you're interested in doing?

Cheers,
    Olly



More information about the Xapian-devel mailing list