announcing version 0.9 of FamixDiff: MCHttpRepository location: 'http://www.smalltalkhub.com/mc/Moose/FamixDiff/main' user: '' password: '' With Anne, we have been working on a diffing algorithm between Famix models. The idea is that having models of two versions of the same system, you can generate the list of changes (add/delete/move/rename) that bring the first model to the second. Still work in progress, but we are dealing with the main entities: package/namespaces, classes, methods, variables Nicolas (& Anne) -- Nicolas Anquetil -- RMod research team (Inria) _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Interesting. How is this different from Hismo? Doru On Wed, Jul 31, 2013 at 11:02 AM, Nicolas Anquetil <[hidden email]> wrote:
"Every thing has its own flow"
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
I don't know :-) I always thought of hismo as comparing metrics values between two models Does it compare the model entity by entity? Trying to define what entities were - added - deleted - renamed - moved please don't tell me we did all this for nothing :-( nicolas On 07/31/2013 11:17 AM, Tudor Girba
wrote:
-- Nicolas Anquetil -- RMod research team (Inria) _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
By what you say, it sounds like a particular case of Hismo. By manufacturing histories out of individual snapshots, you need a heuristic for identifying the identity of an entity. Right now, Hismo uses the mooseName for entities. Thus, moving a class between namespaces will not be captured in this way, but it can be identified after the main model has been built by applying heuristics that compare classes that died in one version with classes that appeared in the next version.
Cheers, Doru On Wed, Jul 31, 2013 at 2:03 PM, Nicolas Anquetil <[hidden email]> wrote:
"Every thing has its own flow"
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
OK, so it seems we did not work in vain after all. What FamixDiff does seems to be an extension of Hismo as you describe in the end of your mail: - first it matches entities by their names in a way similar to Hismo - second it applies heuristics to match entities that have been moved (something Hismo does not do if I understand correctly) - third, applying similar heuristics, it matches entities that have been renamed From this, it generates a list of changes describing what happened between the 2 models (all identical matches, rename, move, addition, deletion). Currently moving and renaming heuristics are based on exact match between all incoming and outgoing associations of the entity, as well as its "children entities". But we plan to allow for a little bit of variation so that a method that was moved to another class and gained one new parameter in the process could still be accepted. So in the end, may be FamixDiff can be used to improve Hismo? FamixDiff also works with Orion model that allow to keep several versions of a model in a memory efficient way. So once we computed the diff between two models, we will be able to express it in terms of Orion changes, and we can have many versions of big models. That is to say instead of keeping in memory two Famix models, we will have one Orion model + the deltas that transform it into the second model. nicolas On 07/31/2013 05:14 PM, Tudor Girba
wrote:
-- Nicolas Anquetil -- RMod research team (Inria) _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |