The First Week: June 4 - June 8

Summary:

After getting a key to the lab, a badge for building access, a Buzz card (GATech ID card), and a parking permit, I started focusing on my project. I've been reading papers, talking to my mentors, and trying both to get background knowledge and to understand my project. I'm sort of starting to make progress. I think the fact that I have somewhat limited experience with Java is going to be a bit of a challenge this summer, but I'm glad, because that means I'll get to know it a lot better.

My mentors are really nice. Mary Lou is Mary Jean's advisor, and she won't be down here for the whole summer, but she'll be traveling back and forth quite a bit (from Pittsburgh). We had lunch on Tuesday with all the DMP participants (mentors and students) at Georgia Tech this summer. I also live with two of the DMP participants (Kathy and Rachel) and it has been nice to be able to talk about grad school stuff with people who are going through the same process.

Resources:

Representation and Analysis of Software. M.J. Harrold and G. Rothermel. (December 1997).

Regression Test Selection for Java Software. M.J. Harrold, J. Jones, T. Li, D. Liang, A. Orso, M. Pennings, S. Sinha, S. Spoon, and A. Gujarathi, Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2001).

Using Component Metadata to Support the Regression Testing of Component-Based Software. Mary Jean Harrold, Alessandro Orso, David Rosenblum, Gregg Rothermel, Mary Lou Soffa, Hyunsook Do, Proceedings of the IEEE International Conference on Software Maintenance (ICSM 2001).

Terms:

Basic Block - a sequence of consecutive statements in which flow of control enters at the beginning and leaves at the end without halt or possibility of branching except at the end.
Control Flow Graph (CFG)- a directed graph in which each node represents a basic block and each edge represents the flow of control between basic blocks.
Regression Testing - the process of validating modified software to provide confidence that the changed parts of the software behave as intended and that the unchanged parts of the software have not been adversely affected by the modifications.
Regression Test Selection - the process of selecting an appropriate subset of the original test suite for a given program to use in regression testing. A safe regression-test-selection technique is one that, under certain assumptions, will never exclude a test case if that test case can reveal faults in the modified software.
Coverage - the percentage of a particular type of structural entities covered by a test run with respect to the total number of that type of structural entity. Examples of kinds of structural entities/types of coverage: statements, branches, decisions, paths, methods, classes, etc.)
Metadata - data about components and metamethods for calculating or retrieving those data.