[Cs5500] Fwd: Urgent SCG Court Maintenance task

Karl Lieberherr lieber at ccs.neu.edu
Fri Oct 21 22:03:26 EDT 2011


The maintenance task you are working on is very typical.
The previous team forgot to test both settings of
a feature variable. Now you have to pick up the task of finding out
why the other setting does not work.

Ahmed will be in class on Monday. Ask him about his approach to
solving such problems
so that you are ready when this happens again.

-- Karl


---------- Forwarded message ----------
From: Ahmed Abdelmeged <mohsen at ccs.neu.edu>
Date: Fri, Oct 21, 2011 at 9:41 PM
Subject: Re: [Cs5500] Urgent SCG Court Maintenance task
To: Madhuvanthi Balasubramanian <balasubramanian.m at husky.neu.edu>
Cc: Karl Lieberherr <lieber at ccs.neu.edu>


The problem was in the hashCode() and equals() methods of Claim. Two
different Claim objects (c1 and c2) with equal fields have the same
hash code and will be equal. As a result, when we execute
listOfRefutationInterpreter.put(c1, pit1); then
listOfRefutationInterpreter.put(c2, pit2), pit2 will be stored on top
of pit1. So, if we then execute listOfRefutationInterpreter.get(c1)
will return pit2.
  I propose that we use IdentityHashMaps instead of HashMaps. So, We'd
change the declaration

private HashMap<Claim, ProtocolInterpreter> listOfRefutationInterpreter;

  into:

private Map<Claim, ProtocolInterpreter> listOfRefutationInterpreter;

  and we change

listOfRefutationInterpreter = new HashMap<Claim, ProtocolInterpreter>();

  into:

listOfRefutationInterpreter = new IdentityHashMap<Claim, ProtocolInterpreter>();

  We'd have to change the signatures of the methods receiving
listOfRefutationInterpreter to receive Maps instead of hash maps.
BTW,
   To test the game locally you can use the attached harness.
On Fri, Oct 21, 2011 at 3:10 PM, Ahmed Abdelmeged <mohsen at ccs.neu.edu> wrote:
>
> Unfortunately, I'm not in today. But I'll get back to you very soon (today) regarding the array-out-of-bount-error.
>
> On Fri, Oct 21, 2011 at 2:41 PM, Madhuvanthi Balasubramanian <balasubramanian.m at husky.neu.edu> wrote:
>>
>> Hello Ahmed,
>>         When would be a good time to meet you today? I'm in the campus now and will be around until 6pm.
>>
>> On Thu, Oct 20, 2011 at 11:20 PM, Karl Lieberherr <lieber at ccs.neu.edu> wrote:
>>>
>>> Hi  Madhu:
>>>
>>> thank you for the analysis. I talk to Ahmed about it and he was not
>>> sure that you point to
>>> the true reason for the array-out-of-bound-error. Please talk to him.
>>>
>>> -- Karl
>>>
>>> On Wed, Oct 19, 2011 at 12:20 PM, Madhuvanthi Balasubramanian
>>> <balasubramanian.m at husky.neu.edu> wrote:
>>> > Professor,
>>> >          Here is the analysis document for this change request.
>>> >          Please let us know what you think.
>>> >
>>> > On Wed, Oct 19, 2011 at 10:19 AM, Karl Lieberherr <lieber at ccs.neu.edu>
>>> > wrote:
>>> >>
>>> >> Hi Madhu:
>>> >>
>>> >> thank you for proposing this process. It looks good to me: it is like
>>> >> a mini-waterfall process adapted to a maintenance task of SCG Court
>>> >> and to your way of working on the fourth floor.
>>> >> And it encourages everybody to develop their estimation skills.
>>> >>
>>> >> I recommend that you apply this process. Call me in when you need advice.
>>> >>
>>> >> -- Karl
>>> >>
>>> >> On Wed, Oct 19, 2011 at 9:58 AM, Madhuvanthi Balasubramanian
>>> >> <balasubramanian.m at husky.neu.edu> wrote:
>>> >> > Hello everyone,
>>> >> >            Here is what I propose, for our maintenance task. Since we
>>> >> > are
>>> >> > already in the maintenance phase, this process aims to keep it simple,
>>> >> > while
>>> >> > making sure we don't miss out on the important tasks :
>>> >> > Requirement Analysis:
>>> >> > Impact Analysis ( Analyze what happens when ProposedClaimMustBeNew to
>>> >> > false)
>>> >> > Documentation of results
>>> >> > Feasibility Study (Is it possible to implement this change, without
>>> >> > significant change of behavior in the system? )
>>> >> > Change Proposal (what you think must be changed, in order for the system
>>> >> > to
>>> >> > work as expected? )
>>> >> > Include design team in your meetings
>>> >> > Design:
>>> >> > Details of classes(if any) that need to be changed
>>> >> > The new configuration file
>>> >> > Meet with development team and discuss if these changes are feasible
>>> >> > Development:
>>> >> > Propose estimated time of completion (how long you would take to make
>>> >> > this
>>> >> > change)
>>> >> > Make changes in the required classes
>>> >> > Include detailed documentation in classes
>>> >> > Report back to design team if you encounter issues
>>> >> > Testing:
>>> >> > Propose estimated time of completion ( how long you would take to test)
>>> >> > Perform regression testing
>>> >> > Run a series of tournaments, in both MMG and HSR to make sure the system
>>> >> > behaves as expected.
>>> >> > I had looked into this issue in little detail last week. So I'm ready to
>>> >> > do
>>> >> > the requirement analysis with teamNavi and share the impact &
>>> >> > feasibility
>>> >> > analysis results with the rest of the teams.
>>> >> > Please let me know if there are any issues with this process, or if this
>>> >> > can
>>> >> > be done better.
>>> >> > On Wed, Oct 19, 2011 at 5:11 AM, Karl Lieberherr <lieber at ccs.neu.edu>
>>> >> > wrote:
>>> >> >>
>>> >> >> We have an urgent task: we need to allow repetition in MMG and BFS.
>>> >> >> Otherwise, those playgrounds don't work well.
>>> >> >> This task is overdue, because MMG and BFS were due on Monday Oct. 17.
>>> >> >> Please can the managers (Sandeep with Madhu, the outgoing SCG Court
>>> >> >> manager ) assign responsibilities to the teams to get this done asap.
>>> >> >> Madhu has been thinking about a simple process that we should
>>> >> >> follow for such maintenance tasks. Please can she share it with the
>>> >> >> class.
>>> >> >>
>>> >> >> Reasons/Rationale for maintenance are here:
>>> >> >>
>>> >> >>
>>> >> >> http://www.ccs.neu.edu/home/lieber/courses/se-courses/cs5500/f11/maintenance/game-repair/repeating-claims
>>> >> >>
>>> >> >> -- Karl
>>> >> >>
>>> >> >> _______________________________________________
>>> >> >> Cs5500 mailing list
>>> >> >> Cs5500 at lists.ccs.neu.edu
>>> >> >> https://lists.ccs.neu.edu/bin/listinfo/cs5500
>>> >> >
>>> >> >
>>> >> >
>>> >> > --
>>> >> >  Thanks
>>> >> > - Madhu
>>> >> >
>>> >
>>> >
>>> >
>>> > --
>>> >  Thanks
>>> > - Madhu
>>> >
>>
>>
>>
>> --
>>  Thanks
>> - Madhu
>
>
>
> --
> Ahmed



--
Ahmed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LocalPlayerProxy.java
Type: application/octet-stream
Size: 658 bytes
Desc: not available
Url : http://lists.ccs.neu.edu/pipermail/cs5500/attachments/20111021/9f49547b/attachment-0002.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TestGame.java
Type: application/octet-stream
Size: 1143 bytes
Desc: not available
Url : http://lists.ccs.neu.edu/pipermail/cs5500/attachments/20111021/9f49547b/attachment-0003.obj 


More information about the Cs5500 mailing list