[Soot-list] Precise Definition of UnitBot and ValueBox

Steven Arzt Steven.Arzt at cased.de
Thu Jul 9 10:43:10 EDT 2015


The statament in line 1 has a define box around local “i”.  Both the statement in line 2 and the statement in line 3 have a define box around the local “j”. It does not matter whether the local is defined or re-defined.

 

Von: lazarusxrf at gmail.com [mailto:lazarusxrf at gmail.com] Im Auftrag von R.F.
Gesendet: Donnerstag, 9. Juli 2015 16:41
An: Steven Arzt
Cc: soot-list at cs.mcgill.ca
Betreff: Re: [Soot-list] Precise Definition of UnitBot and ValueBox

 

Thanks Steven.

 

So we see that for assignment, define boxes are generally boxes around a left-hand side value. By "define", does it mean the value must be first declared in this statement?

 

For example, suppose we have the following code:

int i = someMethod();

int j = anotherMethod();

j = thirdMethod();

 

Can we say also the value box on the left side of the statement in Line 3 is a define box, or we can only say that the value box on the left side of the statement in Line 1 is a define box. Since the variable "i" is firstly declared in Line 1 while "j" is not first declared in Line 3.

 

Thanks.

 

 

Best Regards,

R. F.

 

 

On Thu, Jul 9, 2015 at 10:10 PM, Steven Arzt <Steven.Arzt at cased.de> wrote:

For assignments, yes.

 

Von: lazarusxrf at gmail.com [mailto:lazarusxrf at gmail.com] Im Auftrag von R.F.
Gesendet: Donnerstag, 9. Juli 2015 16:08
An: Steven Arzt
Cc: soot-list at cs.mcgill.ca
Betreff: Re: [Soot-list] Precise Definition of UnitBot and ValueBox

 

Thanks Steven. I think now I've got the point. 

 

And by the way, are use boxes generally boxes around a right-hand side value/unit, and define boxes generally boxes around a left-hand side value?

 

Thanks.

 

 

Best Regards,

R. F.

 

On Thu, Jul 9, 2015 at 9:47 PM, Steven Arzt <Steven.Arzt at cased.de> wrote:

Hi,

 

The boxes are indeed wrappers around values and units. The purpose is that you can ask any statement about the boxes it defines and the boxes it uses without knowing what kind of statement you are exactly dealing with. Even more, you can replace the contents of these boxes – just take a box and call thre setter on it. This decouples the values and units from the precise statements or expressions that use them.

 

Best regards,

  Steven

 

Von: soot-list-bounces at CS.McGill.CA [mailto:soot-list-bounces at CS.McGill.CA] Im Auftrag von R.F.
Gesendet: Donnerstag, 9. Juli 2015 15:38
An: soot-list at CS.McGill.CA
Betreff: [Soot-list] Precise Definition of UnitBot and ValueBox

 

Hi all,

 

I encountered the UnitBox (https://www.sable.mcgill.ca/soot/doc/soot/UnitBox.html) and ValueBox (https://www.sable.mcgill.ca/soot/doc/soot/ValueBox.html) objects in Soot recently, but I cannot find precise and clear definition of the two objects. Are they simply wrappers of Unit and Value respectively? If so, what's the purpose of wrapping Unit and Value?

 

Thanks.

 

 

Best Regards,

R. F.

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20150709/5ecd3d38/attachment-0001.html 


More information about the Soot-list mailing list