Friday, May 6, 2016

Weeks 34 & 35: 4/21/2016-5/6/2016

The past two weeks have been very hectic with the end of the semester and finals! I found out that I received a scholarship to attend the Tapia conference in 2016 and I will also be presenting a poster about the research I have been doing with CREU there.

I also completed a paper submission to the YSU Honors Academic Journal about the research we have been doing with CREU.

I completed the final report for CREU explaining our research procedures and the results that we had after finishing our research. The report reflects what we submitted to the YSU Honors Academic Journal and Tapia 2016.

Finally, I completed the re-registration of the ACM-W chapter at YSU and will be working on the end of the year report for the national ACM-W chapter this weekend. I also updated the VISSOFT website with a change in information for one of the NIER/TD Program Committee members.

Also, I did very well on all my finals!!!

I will not be participating in CREU over the summer, because I will be attending ICSE 2016 and I will be participating in a research internship at MIT Lincoln Laboratory in Lexington, MA from June 8th to August 1st and then I will be attending the national MAA Mathfest meeting in Columbus, Ohio from August 1st through August 8th.

Friday, April 22, 2016

Week 33: 4/14/2016-4/21/2016

This past week I prepared material for the STEM Showcase at YSU, where YSU students present their research throughout the year. High school students, parents, faculty, and staff are encourage to attend.

Dr. Sharif and I will be running a table with our research, an eye-tracker, and a coding station for the showcase. I prepared slides to attach to a tri-fold that explains the machine learning prediction experiment that we ran and presented at QUEST. I have also updated our working demo branch in the git repository with updates to our master branch. This way we can have a small running demo of iTrace for students, parents, faculty, and staff to use, which entails getting to use an eye-tracker. I have also tested/installed another program for running the eye-tracker we are using that might be more interesting for participants.

Sunday, April 17, 2016

Weeks 31 & 32: 3/31/2016-4/14/2016

"Summing Like Euler" at Ohio Northern University

The past two weeks have been very hectic. I presented at QUEST, presented at the Ohio regional meeting of the MAA, presented at the regional Choose Ohio First poster conference, had three exams, and worked on the VISSOFT website.

I had presented a poster on "Exploring Infinite Series" at QUEST hosted at Youngstown State University and the regional Choose Ohio First poster conference hosted at Kent State University. I received an award for an outstanding presentation at the Choose Ohio First poster conference. I also gave a talk on "Predicting Developer Expertise from Eye Gazes on Source Code" at QUEST. QUEST is a university wide research presentation forum at YSU; they do perform judging and hand out awards.

I gave another talk on Euler's method for deducing his famous summation formulas, titled "Summing Like Euler" at the Ohio regional meeting of the MAA at Ohio Northern University. I had an excellent time at this conference. I really enjoyed hearing the keynote speaker, Jenna Carpenter, talk about women in computing across history. She also gave another hour long talk about the implicit biases we have against women in STEM.

Finally, I updated the VISSOFT website with more information about the keynote speaker and with the response of the conference chairs about House Bill 2.

Thursday, March 31, 2016

Week 30: 3/24/2016-3/31/2016

This past week I worked on preparing submission material for ICPC 2016. We submitted results from the machine learning algorithms we ran on the ABB fixation data using Microsoft Azure. Our main premise was to decide whether we could predict software developer expertise using fixation gaze data. We also wanted to decide which parameters and machine learning algorithms work best for software developer expertise prediction. Five different two class machine learning algorithms gave us a prediction accuracy of above 70%. Neural Networks and SVM performed the best.

I wrote the abstract and the first draft of the short paper we submitted for ICPC. I then worked with Dr. Sharif to refine some of the sections.

Thursday, March 24, 2016

Week 29: 3/17/2016-3/24/2016

This past week I worked more on ScanMatch.

I discovered that the filename field in our data isn't always correct, so I used the fullyQualifiedName field to correct the filename. I reran the ScanMatch analysis on the corrected filenames and the average pairwise score for each participant increased slightly. I also continued work on designing and implementing a method level analysis using ScanMatch. I removed all gazes that did not fall into a method declaration. I compared sequence data for each participant by using the similarity score of the two methods each gaze fell into (I worked with Dr. Sharif to come up with a similarity scheme). I ran the first results for method level task 2 and I am double checking the results before running the rest of the data for tasks 3 and 4.

We are also working on submitting a paper to ICPC 2016 this weekend.

Thursday, March 17, 2016

Weeks 27 and 28: 3/3/2016-3/17/2016

Last week YSU was on spring break, so these past two weeks I made changes to the VISSOFT website and I continued to work on our ScanMatch analysis.

For ScanMatch, I finished coding the subMatrix and creating the sequence data so the data will run much faster. The data takes about 6 hours to run per task. It compares sequences across all participants for each task. We have three matrices of results (one for each task) that are pairwise comparisons among each participant (so the results on one side of the diagonal are the same as the results on the opposite side of the diagonal). Just by visually analyzing the results matrices, we found that the normalized ScanMatch scores are not higher than .5 and many are not higher than .1 or .2 (unless we are comparing a sequence to itself, in which case the normalized score is 1). We determined that because we are comparing sequences by determining the following line level scheme:

     -If in the same file and are both on the same line score is 10  (the highest)
     -If in the same file and are both a distance of 1 line away score is 9
     -If in the same file and are both a distance of 2 lines away score is 8
     -If in the same file and are both a distance of 3 lines away score is 7
     -If in the same file and are both a distance of 4 lines or more away score is 5

That at a line level precision there isn't much correlation between sequences.

I have been modifying the current code to work on looking at a method level analysis and I am working on the subMatrix for that now. I will run the modified algorithm on the data to see if at least participants looked more at or in the same methods in sequence.

I made minor changes to the VISSOFT website. I fixed some information for a program committee member, added an announcement for the key note speaker, and removed the word Preliminary from the Call for Papers section.

Thursday, March 3, 2016

Week 27: 2/25/2016-3/3/2016

This past week I worked more on the ScanMatch analysis.

I finished writing code to generate the sequences for our eye-tracking data, to generate scores for each AOI, and to run all of the sequences through ScanMatch in a pair-wise comparison type way and to output those scores to a matrix for each task.

Unfortunately, I ran into some issues with the SubMatrix being too large for Matlab, because we have a large amount of AOIs. I ended up computing SubMatrix scores on the fly, instead of computing them and storing them for look-up later.

Right now the code takes an incredible amount of time to run in Matlab. I determined the analysis to take at least a couple of days if not more at its current speed. I am working now to optimize my code and necessary data to make calculations faster. Worse case scenario, I will be letting the code run all Spring Break to get results or re-writing it in R.

Thursday, February 25, 2016

Week 26: 2/18/2016-2/25/2016

This past week I worked on the scripts for the ScanMatch analysis.

I worked on reading all of the cleaned .csv files I created into Matlab. After reading them into Matlab, I wrote a function to create sequences out of the data for each participant for each task that can be used with ScanMatch. I also wrote a function to create sequence numbers for each line in each file (or for each AOI). This way when I create the sequence data for each participant for each task, I can check the line and file name against my AOI sequence map and get the correct sequence number for each fixation.

I discovered in the next week, I will need to add a special case in my sequence map for when a participant looked at the task description/answer .txt file instead of source code. I will also be working on writing the substitution matrix needed to run the ScanMatch algorithm for our data.

The PME Regional Conference went very well and all of the participants had a great time. My talk went very well, as well.

Thursday, February 18, 2016

Week 25: 2/11/2016-2/18/2016

This past week I completed the preliminary analysis on the Kent study we are collaborating on and I worked on scripts to prepare our data to run on ScanMatch.

I edited and ran the R script I wrote to clean the Kent study data from iTrace raw data into nice fixation eye gaze data. The script creates two .csv files: the first one aggregates the fixations by source code entity name and file name, so we can see how many times a person visited a source code entity, the second one creates a time series/sequential data file of the source code entities visited over time.

I performed more research on ScanMatch and discovered that I will have to write scripts to get the data into a specific form to be able to use on ScanMatch. ScanMatch doesn't allow us to use more than  676 AOIs when creating sequences from our data, so I will have to write scripts to create sequences from our data. They also don't provide a way to create the substitution matrix in a way that works properly for our data, so I will have to write scripts to create it myself. After that we should be able to utilize their ScanMatch algorithm with a few modifications to their Matlab code. I plan to get those scripts written and ran this weekend.

I have also been preparing for the Pi Mu Epsilon Regional Conference that we are hosting at YSU this weekend, Sat. Feb 20, 2016. I am the current YSU chapter president for PME, so I have to shop for food, set up and preform registration in the morning, stuff folders, give a welcoming speech, and present a talk.

Thursday, February 11, 2016

Week 24: 2/4/2016-2/11/2016

This past week I updated the VISSOFT website, researched ScanMatch, and wrote scripts to analyze the data we collected in a study this past November/December.

I added the award announcement (with a picture) to the Submission page on the VISSOFT website. I also added links/pictures for the Journal that selected papers will be asked to submit to.

I spent a lot of time researching ScanMatch and how we will need to manipulate the data to get it into the form we want to run on the algorithm. We will need to generate our own weighted matrix based on if one participant looked at the same program slice as another participant. To get JabRef into program slices, we will be using srcSlice. I am in the process of downloading, compiling, and running srcSlice on each .xml file generated by srcML for JabRef. After this is done, I can begin writing scripts to get the weighted matrix.

Finally, I wrote some scripts to analyze data we collected in a study in collaboration with Kent State University. I have to modify the scripts this weekend and run them on the data to get the data in a form requested by the student (from Kent) who will be doing a lengthier analysis on the newly formatted data.

Thursday, February 4, 2016

Week 23: 1/28/2016-2/4/2016

This past week I participated in a mathematical modeling competition, called COMAP's MCM. My team and I had to develop a model to determine the best strategy a person can take to maintain the heat in a bathtub. Then we had to write a paper proposal describing the model and our findings. It started on Thursday, 1/28/2016, at 8pm and ended Monday, 2/1/2016, at 8pm.

I also looked into TraMineR to see if it would be a useful tool for sequential analysis on eye-tracking data. I found that it would be a useful tool to modify our data into an appropriate format to run on another algorithm, called ScanMatch. It would also be useful for visualizing the common and not so common sequences of eye-gazes that eye-tracking data produce.

Thursday, January 28, 2016

Week 22: 1/21/2016-1/28/2016

This past week I revised our Tapia submission, updated the VISSOFT website, figured out a bug in iTrace, finished editing/revising my NCWIT application (and submitted it), and I read a paper on eye-tracking data analysis.

I made minor formatting changes to our Tapia submission to get it into the correct specifications for submission. We will be submitting it today or tomorrow.

I added the program committee to the VISSOFT 2016 website's Committee page. I had to add each individual person (20 in total) to the Committee's page file. Their names, universities, and web-pages had to be listed.

We are getting ready to release a new version of iTrace that includes support for Stack Overflow and Bug Report documents. There was one bug I had to fix. Both the Bug Report and the Stack Overflow managers were trying to create a function, in Javascript, at the same time named the same thing. So, the Bug Report function would overwrite the Stack Overflow function destroying the ability to capture gazes for Stack Overflow documents. A simple function name change was needed to solve the issue and we will be moving forward with the release soon.

I finished editing my NCWIT Collegiate Award video and written material. I submitted my application on Sunday, 1/24/2016.

Finally, I read ScanMatch: A novel method for comparing fixation sequences, and determined that we can use ScanMatch in two different ways to see how we can identify patterns in eye-tracking data. We hope that there will be a lot of commonality among expert software developer sequential eye-gaze data and a lot of commonality among novice software developer sequential eye-gaze data, but not a lot of commonality between novices and experts. 

Thursday, January 21, 2016

Week 21: 1/14/2016-1/21/2016

This past week I worked on editing our Tapia poster submission and I worked on my NCWIT Collegiate Award application.

I edited the formatting of the Tapia proposal. I made grammar changes and made the table more clear to read.
I spent the majority of my time this week recording and editing my technical project video for the NCWIT award application. I recorded a short demo of iTrace and an explanation of the impact of iTrace in the software engineering community. I had never edited a video before, so I spent some time watching tutorial videos for Camtasia Studio. I am almost done editing the video and I hope to submit the application this weekend.

Thursday, January 14, 2016

Weeks 18,19, 20: 12/22/2015-1/14/2016

The past three weeks I worked on iTrace, the VISSOFT website, and multiple scholarship applications.

I finished the implementation for iTrace to gather eye-tracking data on Bug Report documents. I also fixed a bug in iTrace that caused the name of a file not to match the path to that file.

For the VISSOFT website, I added important dates for Research and NIER/Tool Demo paper submissions. I updated the Committee page with the Artifact Evaluation Co-Chairs and the NIER/Tool Demo Co-Chairs. Finally, I wrote in the submission information on the Submission page, so that researchers can begin submitting papers to the conference.

I completed and submitted an application to receive a scholarship to Tapia 2016. I also completed and submitted an application to join SIGSOFT and to apply for travel funding to attend ICSE 2016. Finally, I finished writing the short answer questions for the NCWIT Collegiate Award that I will be applying for in the coming weeks.