Sunday, July 25, 2010

Co-op and GUI

Since last week was my first week at IBM co-oping, I was not able to put in many hours. I have also decided to move my updates to Sunday. This will better allow me to make meaningful updates.

Travis has made a class that will actually run jCute. The problem is, it seems to be hard coded and we need a flexible way to modify input files. I have been looking at plugins with eclipse and have spent about 4 hours trying to create a GUI interface for what Travis has worked on. I hope to have it submitted this Saturday into the SVN so there is a deliverable for work accomplished.

Friday, July 16, 2010

BERT

For the second part of my summer research I began working with BERT. So i put a pause on implementing JCute into iTutor. BERT is an eclipse plugin for regression testing. Bert allows you to select several projects in your workspace and checks behavioral differences in new versions of your project. This could be a very good tool to implement with iTutor when comparing the teachers "Golden Solution" with a students solution. The BERT view also displays the logs of version comparisons winch will also be very useful.

BERT also brought about some adversity. The plug-in was written on a Linux machine, and the programmers did not make the plug-in Windows friendly. As instructed by Dr.Xie I began trying to debug the code. This was a very daunting task that I didn't spend too much time on. we decided that it would be better for me to continue working with JCute.

Thursday, July 15, 2010

iTtutor JCute Integration

I have been working on running the JCute batch file in iTutor for testing the given programs path coverage. I hard coded the batch file and ran it using a command runner class, and was successful printing out the path coverage information in the console.

The next step in the process will be creating a batch file with the users choice of options, location of the source directory, and class file. Currently I plan to create the Batch.java file then run it using the command prompt. The most difficult part in this task is creating the Batch file, and being able to display results in the iTutor perspective.I later plan to alter the iTutor properties, in order for it to include JCute options.

Wednesday, July 14, 2010

Linux/Windows

For the last week I have been trying to modify an existing code to work under windows. Now the process itself is not too difficult if the programmers of the original program intended for the program to be cross platform. That way the inherent program will leave room for a different operating system and commands.

Now the norm with most code is that there is a timetable required for deliverables. I would assume the same issue was with the existing code. The portion that I wanted to make working within windows had the top half hard coding some values and the second half using a more robust system. I would imagine there would have been two people working on this and trying to has it together to get it working.

I have mostly given up on trying to do the work of integrating their system with windows. If I have time I will take a look at it and modify it until I can get it working, but there seem to be a lot of underlying work.

Since I myself have a timetable to work with, I am moving my focus to working on iTutor itself. I am hoping that I will get some tangible work done so that there is a deliverable.

Thursday, July 8, 2010

iTutor

The second step of my research was working on the Eclipse plug-in iTutor. Currently iTutor is able to create drivers to be run through JCute. JCute uses concolic execution to explore all distinct execution paths with data input.

Currently I am using command prompt in order to run the drivers in JCute and display the branch coverage statistics. Discovered that a better way to integrate iTutor with JCute with the a batch file. This will make it a lot easier to change the options the waye the user wants. The next step after jcute is correctly integrated will be to figure out how to display the results of the automated JUnit test.

First two weeks with ASE REU

It has been a fun challenge to be thrown into a project that has been on-going for a while. I have had to, with little instructions from the Dr. Xie, acquire all the code base as well as policies for the group as well as familiarize myself with the research done by both my research partner as well as with Dr. Orso from Georgia.

I have just come aboard and will now be working with iTutor. For the initial stages, I have been working to integrate BERT from Dr. Orso, a BEhavioral Regression Testing tool, into iTutor. Most of the initial issues I have run into have come from Windows platform compatibility. A lot of the code have been hard coded to run on a specific machine or a specific environment. Working around that has been an enlightening experience.

I will continue to familiarize myself with the code base from both plugins and if spending too much time on BERT proves to be an issue, will disregard BERT and move focus back on improving iTutor.

Wednesday, July 7, 2010

The Beginning of my Research C# and Pex

I began my research by studying the differences between C# and Java. I realized that these are two very similar languages. Though the differences are minute, I believe Microsoft designed C# to be a little more programmer friendly. Doing so with a few different variations from Sun's Java language such as the use of namespaces, but both languages are strongly typed object oriented languages. Familiarizing with C # also introduced me to Visual Studio. I enjoyed working with Pex and Visual studio and will continue becoming familiar with the powerful Pex tool.