Hello my name is Jefferson Ridgeway IV. I am currently a rising junior at Elizabeth City State University, which is located in Elizabeth City, North Carolina. My major is Computer Science and my minor is Mathematics. I have always had a fondness with technology and with my major, I have found that interest to continues to grow with each experience that I am able to have. I am hoping that the REU IoT this summer at Texas State University will be a great learning experience that I can grow from and further myself as a student researcher.


Week 1:

June 1st: The research group was introduced to the program (including the computing labs, expectations, icebreakers, etc...).  Dr. Michael Brodie from MIT came and talked with the group as well and his talk consisted of the future of Big Data. Futhermore, Darren and I met with our mentor (Dr. Guowei Yang) and discussed the our research project which is the testing and verification of mobile apps 

June 2nd: Attended a detailed classes on research processes and research ethics by Molly O'Neil and background classes on the Internet of Things by both Dr. Ngu and Dr. Podorozhny.  Afterwards, I met with my mentor and he distributed the research papers to both Darren and I so that we can read and overlook them to understand more about bug reports, bug fixes, and regression testing for mobile applications. 

June 3rd: Attended a faculty research talk by Dr. Gao on Data Mining and its importance in computer science in the present and then in the future. Lastly attended a faculty research talk by both Dr. Yang and Dr. Podorozhny. Dr. Yang talked about software engineering, specifically software testing and verification on mobile applications and Dr. Podorozhny talked about robotics and the programming behind drones and other robotics. 

June 4th: Read some more research papers about testing for android bugs. The first step in the process of this research is to first filter through the bugs in google code and find the apps that have the "best" bug reports via a selective criteria. That criteria being any code changes, settings in the app changes, hardware changes and library changes that have occurred between the last version of the app (before it was modified to fix the bugs) and the latest version of the app(when the bug was fixed and the bug report was closed). Tomorrow, Darren and I will be meeting with Dr. Yang about our readings thus far and actually starting the filtering process for the apps on google code before heading to the welcome BBQ. Later that night, went out with a couple of students in the REU to a local restaurant called pluckers, and we watched game 1 of the NBA finals and had a great, fun time! 

June 5th: In the lab, Darren and I began our search for android applications that were worthy of the selection criteria that we wanted. Later on in the day, we meet with Dr. Yang and explored the first part of our research and how the bug testing is actually going to go.  We also gained more understanding from the papers that we read throughout the week and have sufficient information to continue in the next phases in the research.  At 5:30 pm, we had a REU program BBQ in the Comal Building Room 212. 


Week 2:

June 8th: In preparation for our powerpoint presentation on Friday this week (June 12), Darren and I started on the powerpoint and we will be able to finish it up tomorrow and assign the parts of the powerpoint as well. 

June 9th: Darren and I finished up the powerpoint and assigned parts of the powerpoint to each other so that we can practice on our own as well as together when we meet up with Dr. Yang tomorrow and on thursday.  During the day tomorrow, we will be continuing the filtering process with our current bug study.  The criteria for our bug study includes: to look at the applications in the Google Code Repository that have a long development history (which means that changes could have occurred in the four areas that we are looking which are: code, settings, library, and hardware changes), have been popular on the google play store and downloaded a myriad of times.  The more times the application has been downloaded, the higher potential that the application has its source code available and we are also looking at a diverse category of apps (such as: entertainment, security, productivity, etc...).

June 10th: Darren and I met with Dr. Yang and he gave us pointers on our presentation to make it better. Darren and I made those changes and then just started to practice the final presentation

June 11th: Darren and I continued to practice by ourselves and around 4pm, we went in room 212 in COMAL to practice with the project and to practice together as a team. We gave each other pointers on what to make sure to say and what to not to say.

June 12th: Presentation was today and we did pretty good! We have some stuff to improve upon in our presentation skills and in the information. The rest of the day, we will just continue on conducting the Bug Study and that will follow and maybe stop at the end of next week, but that itself is tentative. Tomorrow, the REU Group is going to have some fun and we're going to see Jurassic World as a group as well as go out to eat afterwards. Looking forward to it!!!


Week 3:

June 15th: Finished up the initial bug study on a google spreadsheet with darren. We listed all of the changes that were unique/ones we are looking for which included: code change, setting change, hardware change, Library change, & (potentiall) Version change. After doing that, Darren and I started to try to figure out how to record the bugs using either android studio or eclipse then then maybe using robotium recorder or appium in recording the bugs that are found when using the application. We will also be using an android device manager in trying to "recreate" the bugs that we may find. 

June 16th: The whole REU group today went to IBM Research in Austin, Texas. They had to different people that work within the IBM research infrastructure to come and talk with us. One of the best talks was hearing about how Watson (AI-machine that competed in Jeopardy a few years back) functions and all the processes that it goes through in order to produce an answer for Jeopardy question that it is presented with. That was very interesting to me. Before we left, we were able to see IBM Design Studio on the 8th and 7th floors of the building and that was another big highlight of the trip as well. It was good to see the modern-day work environment that front-end developers worked in and to just observe the space that they were and the collaborations that were taking place was very interesting in my opinion. I can't wait for our next trip next tuesday, in visiting Southwest Research Institute (SWRI)! 

June 17th: Today I focused on trying to use robotium recorder plugin with android studio in just getting the android emulator to work. Dr. Yang wants me and darren to start the analysis part of our research, which includes finding the bugs in code, settings, hardware, & library changes within the applications that we have from the bug study. 

June 18th: Darren and I met with Dr. Yang today and received more direction and guidance on the analysis part of our research and in finding the bugs, we want to 1) Verify that the bugs do exist and why they exist with the code, settings, hardware, or library change and 2) Find the key reason for the appearance of the bugs and if possible find a pattern of the bugs within the applications. Darren will be focusing on code change bugs & setting change bugs and I will be focusing on hardware change bugs & library change bugs.  Also in getting prepared for our next presentation on July 1st, Dr. Yang provided tips on what we need to improve on in our presentation and what we need to say, such as talking about the change-impact analysis, and why the project is interesting and beneficial what we are doing, and finally the importance of regression testing in comparison to the regular testing of desktop applications.  

June 19th: Today I had my first milestone! I was able to replicate the bugs that I found in google code for the ankidroid application. The bug is a potential library bug (the application would run on API 19 & 14 but not 8 or 10). I will do some research further into this bug on the weekend, before meeting with Darren and Dr. Yang on Monday, June 22nd.


Week 4:

June 22nd: Today Darren and I met with Dr. Yang to talk about current progress and direction. Dr. Yang told us that in this analysis phase of the research we need to really understand the behavior of the bug and trace the application and/or code. Also what came up in the discussion, was the fact that the apps that we chose during our selection process, half of those applications we can't use because of the limitations of the android emulator that is in Android studio. So after analyzing the other half of applications that we have and the bugs that we find, we will be transitioning to github to find more android applications because github is easier to filter to see which applications are popular and their long development history. We also discussed ideas that we have for the next presentation on July 1st, next wednesday. After the meeting, toward the end of the day, I was able to analyze my first bug and verified that it did exist and where it came from in the library of the android OS. Tomorrow, we will be visiting SwRI in San Antonio, Texas.

June 23rd: Today, our visit to SwRI (Southwest Research Institute) was an enlightening one to say the least. We were able to tour the different departments within in their automation and data services division. We also got a chance to talk to some of the managers and even some of the people that work there and had a chance to see what they are developing for their respective clients. Overall, I am grateful for the experience of going to an institute such as SwRI and I had a pretty decent time there.

June 24th: Today, I tried to replicate the rest of the library bugs from different applications to no avail. I then proceeded to go back to try to replicate some of the hardware bugs in the different applications between Darren and I and I didn't get anywhere with that. Tomorrow, I will try out some different methods that I can find on the internet for both the hardware and library and if I can't get anywhere yet again, I will try to look for more android applications on the github repository. 

June 25th: Today, I wasn't able to reproduce/replicate any of the bugs from our list on the google spreadsheet so I will be starting a new search for android applications on the github repository today and friday. Tomorrow, Darren and I will meet up and create the new powerpoint for next week for our second presentation. Hopefully we will be able to finish the powerpoint as well and also assign each other parts before the weekend, so that we can practice separately.

June 26th: Darren and I worked on the powerpoint for the presentation next week on Wednesday and we got it done for the most part. Other than that, I continue my search for new applications on the github repository and I may have found some potential applications but I have to put them in the google spreadsheet that we created. I will be going over my part of the powerpoint over the weekend as well in preparation for the presentation. 


Week 5:

June 29th: Today, I continued my search for android applications specific to the change I suppose to be looking at but I wasn't that successful so tomorrow, I will continue my search for the applications and hopefully I'll be able to find some applications on the github repository. Later on, I decided to practice the powerpoint separately from darren to make sure that my part was good and tomorrow we will present together in front of Dr. Yang and he will give us pointers on what to say and what not to say. 

June 30th: Today, we met with Dr. Yang to practice in front of him and he gave us some pointers about what we should say and what we should go more in depth with talking for the second presentation tomorrow. I continued my search of the applications on github afterwards. Looking forward to the pool party tomorrow at Dr. Shi's house after the 2nd presentation of updates of the REU projects by the students in the program.

July 1st: Today we presented in front of the REU group for a second time and I think Darren and I did better than we did last time (which was two weeks ago).  Afterwards, we all went to the pool in Dr. Shi's neighborhood and had some good food and good time. It was a good day!

July 2nd: Today, we continued our research on the bug analysis end and we will meet with Dr. Yang tomorrow

July 3rd: We met with Dr. Yang and we got more direction on our research and what we should be looking at now. The plan is to start on the regression testing in two weeks when he returns from his conference.


Week 6:

July 6th:  This week, Dr. Yang will be on a conference and this week also will be (hopefully) the last week of our bug analysis. Today I will be looking for new applications that have issues regarding hardware and library changes to them. I would personally like to get another bug or two verified before the next week, but we'll see how this week turns out when it comes to my search for these specific android applications.

July 7th: Today, I continued my search and I found an application called K9 Mail which is basically a mail client for android so that the user does not have to use the stock android email client. The good thing about this app was that it held a lot of issues so I documented those in our google spreadsheet and started to replicate the bugs, but for the most part, I was unsuccessful in replicating the bugs.

July 8th: Furthermore, I continue with trying to replicate some of the bugs from the K9 mail client application and I was able to verify one in particular but after replicating the bug I became aware that the bug was more of setting change (which is what Darren is looking at, code and setting changes) than initially a library change. Other than that, I just started on my search of more applications in either the google code repository or the github repository.

July 9th: Today, the REU Group visited Emerson. The trip was very enlightening for the simple fact that I didn't know who emerson was. The man that met us there explained it to us in that they, that particular branch of the emerson comapny, specializes in developing and testing software applications for manufacturing plants. So that was very interseting and to see what they are working on currently was also cool. Aftewards, a few people in the REU group went to the local Rudy's in Round rock (which is right outside of Austin) and had a great, fun time with some good BBQ food! I enjoyed myself greatly.

July 10th: I continued my last search of apps with library and hardware changes.


Week 7th:

July 13th: Today, Darren and I met with Dr. Yang and we talked about what do this week moving forward into hopefully next week. I was assigned to produce a strategy/methodology to reduce the library-specific change bug. The rest of the day, I continue to work at this effort with first identifying the where exactly is the android.widget.ListPopupWindow class in the android API and what method calls the class that is absent in android API 8 & 10.  

July 14th: Early in the morning we had a graduate life session panel that was very interesting and informative.  I took a lot of notes about obtaining fellowships, and the experience I can expect to have while in graduate school.  I continued my work in identifying the location of the missing class and specifically the method that class the absent class from android API 8 & 10, and I didn't get that far in my search. I will continue my search tomorrow and report my findings to Dr. Yang and Darren at our meeting tomorrow as well.

July 15th: Dr.Yang, Darren and I skyped this morning about our progress this week. I provided where I was and the difficulties I encountered thus far and Dr. Yang, provided me some tips & advice on how to deal with the situation. So preceded to do what he told me to do, in looking for the missing class that is being referenced by the function inside the Android Library Files. I didn't get very far later in the work day, however, I was able to contact Dr. Yang and get a little bit more help and direction for my part of conducting the methodology/strategy for detecting this library-specific change bug. 

July 16th: I continued to look for the missing class and function inside the android library files.

July 17th: The REU group attended a session today in COMAL 212 at 1 pm and Dr. Ngu talked to us about how to write a really good research paper. Then Dr. Yang showed us how to use the software LaTex to write our papers and possible do our posters with too.  Dr. Metsis spoke last and he showed us how to create a good research poster for the end of the program that we will create in the last week of the program.  After the meeeting, Darren and I met with Dr. Yang to discuss current progress and a plan for next week, knowing that we have to do our last presentation next Friday. For my part of the research, we talked about how I need to be looking at the android library files and see how the application is using the android library files, so basically understanding the connection between the classes in the android OS and the application user-created classes. Next Monday & Tuesday, will try to find this connection, understand this connection, and hopefully create a strategy/methodology in creating a way to check for a bug due to a library change. Darren and I will meet with Dr. Yang on Tuesday morning and we will hopefully start working on the powerpoint on Tuesday afternoon or Wednesday of next week.


Week 8:

July 20th: Today, I worked more looking at the android library files in order to start the statistics for the library 

July 21st: Darren and I met with Dr. Yang today, and I was able to gain more insight for how I was actually to figure out the statistics for the "assumed" android library change in the AnkiDroid application. After getting instruction from Dr. Yang, I started my search throughout the AnkiDroid application (using the Eclipse IDE w/ Android Developer Tools (ADT) plugin) and I searched for anytime that the android.res.Resource library file was used in the methods in each of the Application Class files. While this tasked seemed tedious at first, I was able to actually the search function in eclipse to look for where the library was specifically used, rather than going through literally each application class files, I just had to go through the results that were provided by the search function in eclipse. 

July 22nd: Today I was able to continue gathering my statistics and Darren and I got together later on to start and work on the powerpoint so that we can practice the powerpoint and get tips & advice from Dr. Yang tomorrow for our scheduled appointment. 

July 23rd: Today Darren and I were able to come to an understanding on how the powerpoint should go and Dr. Yang gave us some great advice today. I was able to finish up my statistics and I think we will be ready for the final presentations tomorrow! 

July 24th: I think everybody did a good job on these last presentations today! 


Week 9/Last Week:

July 27th: Darren and I throughout the week will be preparing for the poster and the paper. The poster is due on the day of poster presentations and the paper is due on friday.

July 28th: Working on Paper/Finishing up the paper

July 29th: Making last editions to Paper, creating & completing poster

July 30th: Presented Poster

July 31st: Finish technical paper