Documentation Bug: wrong parameter type for `isfixingrevision()`

37 views
Skip to first unread message

Eddie Santos

unread,
Jan 25, 2016, 12:03:46 AM1/25/16
to Boa Language and Infrastructure User Forum
From http://boa.cs.iastate.edu/docs/dsl-functions.php:

isfixingrevision (rev: Revision) : bool

However, as demonstrated by some examples [1] [2], its signature is actually:
isfixingrevision (rev: string) : bool
(because it takes in ChangedFile.log: string).

Also, more information on isfixingrevision() would be nice. Does it implement the regular expressions and heuristics (i.e., syntactic confidence) in [3]?

 [3]
J. Śliwerski, T. Zimmermann, and A. Zeller, “When Do Changes Induce Fixes?,” in Proceedings of the 2005 International Workshop on Mining Software Repositories, New York, NY, USA, 2005.

Robert E Dyer

unread,
Jan 25, 2016, 1:25:28 AM1/25/16
to boa-...@googlegroups.com
There are actually 2 versions: one takes a Revision and one takes a string.

Regarding implementation, you can view the concrete implementation here: https://github.com/boalang/compiler/blob/master/src/java/boa/functions/BoaIntrinsics.java#L68

Short answer no, it does not implement those heuristics, it is just a simple regex.

- Robert

--
More information about Boa: http://boa.cs.iastate.edu/
---
You received this message because you are subscribed to the Google Groups "Boa Language and Infrastructure User Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to boa-user+u...@googlegroups.com.
To post to this group, send email to boa-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

________________________________________________
Robert Dyer | Assistant Professor | Department of Computer Science
BGSU | rd...@bgsu.edu | 419.372.3469 | 244 Hayes | Bowling Green, OH

Want to mine ultra-large-scale software repositories with minimal initial
investment? Check out Boa! http://boa.cs.iastate.edu/

Eddie Santos

unread,
Jan 25, 2016, 1:23:53 PM1/25/16
to Boa Language and Infrastructure User Forum
Thanks for the quick response!

This may be an issue of PEBKAC, but I tried the version that uses Revision instead of string (string does work), but it doesn't work (from this example).

This gives me:

Error at lines 29-29, columns 13-28: no such function isfixingrevision([Revision])

v := visitor {
before rev: Revision ->
if (isfixingrevision(rev))
foreach (i: int; def(rev.files[i])) {
file := rev.files[i];
filenames[changeType(file)] << file.name;
}
};

  Maybe the version of boa that takes Revision is not deployed on the public facing service?

Robert E Dyer

unread,
Jan 25, 2016, 4:48:22 PM1/25/16
to boa-...@googlegroups.com
That is true.  Each dataset has its own compiler version.  The SF dataset is older, and using an older compiler which apparently did not have that version of isfixingrevision().

- Robert

HUSSAIN Shahid

unread,
Jan 25, 2016, 9:04:42 PM1/25/16
to boa-...@googlegroups.com

Dear all,

I am new in use of Boa and struggling to become a good user. Anybody of you can help to give answer of my following queries.

1:- The list of of projects, which i retrieve through boa is limited, how i can able to access complete list.

2:- Am, i need privileges and who can grant.

Moreover, can anybody help me to write boa code for following queries.

1:. List of all revision of a project its log , date and affected classes/modules

2:- List of classes of a project, which are involved in one or more than one role and also list of its coupled classes.

3:- List of classes of projects with their level of inheritance


I will be very thankful for kind response.

Cheers

shahid




From: boa-...@googlegroups.com <boa-...@googlegroups.com> on behalf of Robert E Dyer <psy...@gmail.com>
Sent: Tuesday, January 26, 2016 11:48 AM
To: boa-...@googlegroups.com
Subject: Re: [Boa Users] Documentation Bug: wrong parameter type for `isfixingrevision()`
 
Reply all
Reply to author
Forward
0 new messages