1
edit
Changes
→Project Task List - Now polychromatic
([[#top|↑ top]])
<table style="width: 100%;" class="standard-table" border="1" cellpadding="0" cellspacing="0"> <tr><td colspan="4"><strong>Legend</strong></td></tr> <tr> <td bgcolor="#00FF00" style="width: 25%;">Task completed</td> <td bgcolor="#FFFF00" style="width: 25%;">Task started but not complete</td> <td bgcolor="#FFA500" style="width: 25%;">Task being discussed</td> <td bgcolor="#FF0000" style="width: 25%;">Task not started</td> </tr></table><br /><table style="width: 100%;" class="standard-table" border="1" cellpadding="0" cellspacing="10">
<tr>
<th>Task</th>
<td>The Granularity concept. A single revision may consist of hundreds or thousands of lines of code that were changed, yet only a couple lines of the change may be responsible for the regression. Thus, There must be a method to break the change into smaller manageable chunks. The different types of chunks we may breaking up a changeset are: Revision, Directories, Files, Code Blocks, and Lines.</td>
<td>[[User:RichardChu|Richard Chu]]</td>
<td>Work in progress. <table style="width: 100%;" class="standard-table" border="0" cellspacing="0" cellpadding="0"> <tr><td bgcolor="#00FF00">Currently can retrieve change sets of type Revision, Directory, and File. Need NOT going to complete retrieval of Code Block, Line of Code change set? .</td><br /tr> <tr><td bgcolor="#FFFF00">Requires through more thorough test suite (ChangesetTest.pl needs more test cases)</td></tr> </table> </td>
</tr>
<td>OK. Change sets can be retrieved. Now what? You must be able to apply a change or change set or subset of a change set to the source tree. Your mission is to figure out how to do that.</td>
<td>[[User:RichardChu|Richard Chu]]</td>
<td>Work in progress. <table style="width: 100%;" class="standard-table" border="0" cellspacing="0" cellpadding="0"> <tr><td bgcolor="#00FF00">Can apply a change changeset (specified by index or array of indices passed in) from a Revision, Directory, and File Changeset. Do we want to be able NOT going to pass in an array complete application of indices and apply the changes associated with those indices? Requires some thoughtCode Block or Line changeset. <br /td></tr> <tr><td bgcolor="#FFFF00">Requires through more thorough test suite (ChangesetTest.pl needs more test cases)</td></tr> </table> </td> </tr> <tr> <td>Unapplication of Change / Change set</td> <td>Changesets obviously must be able to be applied. But changesets must also be able to be unapplied. Your mission is to figure out how to do that.</td> <td>[[User:RichardChu|Richard Chu]]</td> <td bgcolor="#FFFF00">Work in progress.</td>
</tr>
<td>Mozilla uses the GNU make utility to build their source tree. your mission is to make a wrapper around the GNU make utility so that the make command can be programmatically called to build the source tree.</td>
<td>[[User:RichardChu|Richard Chu]]</td>
<td>Work in progress. Initial wrapper <table style="width: 100%;" class="standard-table" border="0" cellspacing="0" cellpadding="0"> <tr><td bgcolor="#00FF00">Wrapper created: ''makewrapper.pl''. Can execute the make command with options specified by the user.</td></tr> <tr><td bgcolor="#FFFF00">Requires more thorough test case (''maketest.pl'' needs more test cases).</td></tr> </table> </td>
</tr>
<tr>
<td>For the automated debugging to work, we may need to automatically modify the working copy by reverting to a different revision or updating certain directories and files. It may also need to know the differences between revisions and changesets.</td>
<td>[[User:RichardChu|Richard Chu]]</td>
<td>Work in progress. Initial wrapper <table style="width: 100%;" class="standard-table" border="0" cellspacing="0" cellpadding="0"> <tr><td bgcolor="#00FF00">Wrapper created: ''svn.pl''. Currently has subroutines for ''commit'', ''update'', ''diff'', and ''checkout'' commands. May need to wrap other SVN commands. </td></tr> <tr><td bgcolor="#FFFF00">Requires more thorough test case (''svntest.pl'' needs more test cases).</td></tr> </table> </td>
</tr>
<td>Your mission is to find out the relevant commands that can return the differences between two revisions, the meta-data that is kept with each revision, how differences between two revisions are stored and formatted, and how this data can be parsed into a usable form for our project (wrapper?).</td>
<td>[[User:RichardChu|Richard Chu]]</td>
<tdbgcolor="#00FF00">Work in progressDone.</td>
</tr>
<tr>
<td colspan="4"><strong>CVS/Mozilla Bonsai</strong> ([http://www.mozilla.org/bonsai.html http://www.mozilla.org/bonsai.html], [http://cvsbook.red-bean.com/OSDevWithCVS_3E.pdf CVS Book])<br />You can do these tasks by trying to interpret the Bonsai source code yourselfIn my mind, or preferably by finding a person who has intimate knowledge of the Bonsai source code and asking themmay be too bloated for our needs.
</td>
</tr>
<tr>
<td>Query Wrapper around the necessary CVS via Bonsai for checkinscommands</td> <td>You can use Bonsai For the automated debugging to search for work, we may need to automatically modify the checkins made within a certain time frame, within a certain directory, made working copy by reverting to a different revision or updating certain developer, etcdirectories and files. Your mission is It may also need to find know the relevant source files, functions, variables, etc. that drive this functionalitydifferences between revisions and changesets. </td> <td>TBD.[[User:RichardChu|Richard Chu]]</td> <tdbgcolor="#FF0000">Not started.</td>
</tr>
<tr>
</tr>
<tr>
<td>Creation / Extrapolation Extraction of Test Case(s)</td> <td>We need test cases that can return whether or not the test passes or fails. Tinderbox has a couple of tests that are executed after the source is built. Extrapolate Extract those tests from the Tinderbox source code so that we can use them in this project. We also need a test case that can pass/fail consistently so that we can test the delta debugger.</td>
<td>[[User:Ankuswan|Aditya Nanda Kuswanto]]</td>
<tdbgcolor="#FFFF00">Work in progress. Found the tests! Now need to figure out how to run them and how they work.</td>
</tr>
<tr>
<td>Test Framework</td>
<td>We ideally need a way to allow users to specify the test(s) to be run easily without them having to modify the delta debugging module. </td>
<td>TBD.</td>
<td bgcolor="#FFA500">There are differences in opinion on how this should be done.</td>
</tr>
<td>The delta debugging algorithm. Drives the framework to retrieve change sets, apply changes, build source tree, run test case(s) to find the minimal set of failure inducing changes. The intersection of all other parts of the framework to make them work together. Ideally, should be abstract enough for easy extensibility with little impact.</td>
<td>[[User:dwwoodsi|Dean Woodside]]</td>
<tdbgcolor="#FFFF00">Work in progress. Check the SVN repository from time to time.</td>
</tr>
</table>