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.

Tuesday, May 11, 2010

Conclusion of Research During Freshman Semester

I have now concluded the bulk of my Undergraduate Research for my Freshman year, which was primarily spent studying the capabilities of the Java Programming Language. My work with it varied from producing simple text-based programs, to simulating the effects of gravity on "Rain Drops" in animated JFrames. As of May 11, 2010, I've constructed 118 working programs. A portion of my research was also spent analyzing the effectiveness of Java as the first language learned by a beginning programmer, and as such I proposed various queries and methods to obtain information regarding this concept. I plan to continue working and studying Java as to provide myself with more expertise in the subject, so that I will eventually be able to construct and fix issues related to Java in Automated Software Engineering.

For my Summer session, I plan to begin working on a series of new games in Java to continue building my familiarity with the Java language, and the quintessential component of programming, the GUI. I also plan to expand my knowledge into other areas such as advanced class construction, recursion, and the collections framework.

Tuesday, April 6, 2010

Java Studies/Personal Research

Continued on in my extensive studies of Java through a continuation of the Arrays class. Constructed 10 programs which deal with the capabilities of Arrays, and range in capabilities from counting letters in a String or separate file to encrypting the data held within a String or separate file.

Apart from my programming studies, I have also been researching two topics: the effectiveness of learning Java as a programmer's first language of choice, and the most common type of coding used for extensive game developing projects. For the first topic, I've constructed a plethora of questions which I could ask a group of Java Professionals of regarding this query. For the latter topic, I've realized that a majority of game developing projects require a sturdy foundation in the knowledge of C or C++. Various projects such as, Battle for Wesnorth, Blender, FreeDroidRpg, and Crystal Space are online collaborative projects which specialize in designing video games (Blender and Crystal Space also specialize in developing Graphics Rendering software). C# is another popular game developing language, and is most prominently seen in the field via the use of Microsoft's Visual C# Studio, which has a library built specifically for the construction of games with their XNA subsection. Java seems to be popular in the creation of smaller games which are often embedded into web pages. Will continue to study Java, and may begin to look into C++ as well.

Monday, April 5, 2010

iTutor Updates: Formal Writing

After finding a good amount of time to work on the research over the break, I incorporated all of the feedback I have received thus far into the formal writing. I aim to submit it to Dr. Xie so that he can look over it and share his opinions with me. I am really striving to get this work completed and published and hope to accomplish that before my time in the university is up.

Outside of the writing, I have been looking into the project and familiarizing myself with how I went about its implementation. I am documenting as I go through so that anyone in the future may know what I did in my methods of the project. I hope to also extend this to important methods that were there long before I worked on the project, but for some reason, were not documented.

Sunday, March 21, 2010

I have primarily continued my studies in Java by constructing programs which have introduced me to new concepts. I have recently produced within the previous period 24 programs, which bring my total created during research to 86. The programs most recently constructed have dealt with importation and exportation of files, and also reading the data from separate files to be processed by the various commands in my programs. My studies have also given me the knowledge on how to properly use arrays, more capabilities of GUIs, solving complex tasks with programming, and utilizing the various classes in the extensive Java libraries to find specialized problem solving methods.
I've also began researching a more practical cause in my research, being the benefits and general practicality of learning Java as a beginning programmer. When dealing with the various forms of Object Oriented Programming, it is common concept that the different languages will have their own specializations, but overall similar syntax. My interest in the subject deals with primarily finding out if there are any particular benefits or drawbacks from learning a specific language first? Perhaps the syntax of Java could be a bridge to easily interpret other OOP languages. Perhaps the naming clauses and variable declaration styles will lead a budding computer scientist to be more prepared for other languages. My research has yielded no concrete results, yet I have obtained data indicating the various specialties (more commonly used for Internet development, etc.) of Java. Will continue my studies of Java until I've obtained proficient mastery and will continue to look into this inquiry.