Summary

SimCList is a rich, easy to use, fast, and dependable library for lists in C used primarily in embedded software and academia. After 2 years, I want SimCList to have a consistent regression test suite for enabling systematic quality assurance before going any further with it.

Are you a student, an open-source militant, or a Mister X who used and benefit from SimCList?

You can volunteer some hours of your time for a major contribution to the SimCList library: a consistent regression test suite.

This is the deal:

Contact the author to apply.

What you give

The preliminaries:

This is what you build:

  1. (3 hours) a small library to generate random values for some data types (int, float, strings, structures, and arrays of them)
  2. (4 hours) Tier1 set of test programs bullet proofing the core features:
  3. (6 hours) Tier2 set of test programs bullet proofing user functions:
  4. (5 hours) Tier3 set of test programs bullet proofing extended features:

Is it worth it? Reliability is priceless; SimCList took about 250 hours to develop so far; An estimated 40% of the overall cost of a software in its lifetime is up to testing; 18 hours is much less than 40% of 250 hours. It is important that the test suite is prepared by a person other than the author of the code to test.

What you get

You get:

Ideal guys

If you are a Computer Science student, this task is perfect for you. You can improve your proficiency in C and get involved in the Open Source community. At the same time, you can very reasonably propose this task to one of your professors as a course project, or for improving a grade you got. Projects with practically useful outcome are exceptionally rare and appreciated. In case the professor desires, I (research assistant at ETH Zurich) can provide feedback for grading.

If you already are a user of SimCList, you skip the API learning step, you improve your proficiency with the library, and you get direct support from the author.

If you are a random (Open Source?) developer, you can concentrate your work on one integer, measurable contribution, and be distinguished for it.