Saturday, December 26, 2009

An Empirical Study of Uncaught Exceptions in Open Source Projects

As the title suggests, my current research is an empirical study of uncaught exceptions in Open Source projects. Here is a brief summary of the research.

  • Use Pex to generate tests on Open Source C# codes
  • Take statistics on exceptions being thrown. Report the number of exceptions and type of exceptions that Pex exposes.
  • It is expected that the values that cause the exceptions are generally shallow values.
  • By shallow values we mean invalid values/parameters.
  • The alternative to shallow values are "time bomb" values
  • "time bomb" - earlier method call with invalid parameters does not cause immediate exception but a method call later on with valid parameters causes exception due to the earlier method call.
  • The "Fix It" feature of Pex may help to determine if the exceptions are caused by shallow values or "time bombs"
  • Main procedure
  • Run Pex on Open Source Project
  • Classify and group exceptions as either shallow or "time bomb"
  • Find cases where the "Fix It" feature of Pex can fix whatever is causing the exception to be thrown.

No comments:

Post a Comment