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.

Monday, December 14, 2009

My ability to work has been severely hindered by my preparation for finals. As of now, I've received two grades, both being A's. I'd like to ensure that I maintain these grades for now. I believe I'll be granted more time next semester to work on my Undergrad Research.

The Calculator interface with which I previously began working on turned to be too complicated for my level of experience with C#. Instead of attempting to rewrite the entire program myself, I used the sample version which was provided with the tutorial. I ran the program in the Visual Studio compiler while highlighting key portions of the program to stop at to better interpret the flow of Object Oriented Programming. The code, which consisted of 554 lines of coding became far too lengthy and difficult to comprehend by myself. I'll save the creation of a calculator with a Graphical Interface for my next meeting with Charles. Instead, I began reviewing the abysmally simple tutorials provided here to reinforce the knowledge of C# which was fractured by the overall confusing coding of the "Beginner Calculator". Also for the first time in my coding experience, I did not rely solely on Visual Studio for the construction and compiling of my programs, but made the majority of it in the Command Prompt. Realized I needed to reinstall the .Net Framework in order for the command to compile to activate successfully as well.

Sunday, December 13, 2009

Webpages for iTutor

These past few weeks have been very busy as far as school work but I have managed to work on the webpages for iTutor. Basically I am making a webpage for each program that we have been assigned in my CSC 216 class. Now, that we are finished with the semester all the projects have been assigned and I now have all the necessary information to finish these pages. I have completed the webpage for our first project which was a program that read in xml files and compared students musical likings by using a graphing function in java called Jung. I'm currently working on the webpage for our second program which modeled population changes of animals over time. The webpages for the other projects are soon to be finished.