socialsoftware / mono2micro

MIT License
9 stars 11 forks source link

Usage of spoon Collector #70

Closed Hirzelts closed 1 year ago

Hirzelts commented 1 year ago

Hello,

I am currently trying to use spoon collector on several codebases.

All Codebases I tried so far make the programm error out or lead to empty json files.

I would like to ask, where I can find some of the codebases you collected the Accesses files and IDToEntity files from in https://github.com/socialsoftware/mono2micro/blob/master/collectors/spoon-callgraph/data/collection/staticCollectionDatafiles.zip.

Thank You.

ritosilva commented 1 year ago

Hello,

In the article, https://doi.org/10.13052/jwe1540-9589.2158, you can find the info. Anyway, we have stored a copy of each code base in google drive, https://drive.google.com/drive/folders/1QiAPyM4ezhihoqJdSEJNmwfNDNzzsYv1?usp=share_link

BTW, in master branch you will find the most recent version of mono2micro, now extended to also accept git logs to generate decompositions and a git collector (unpublished research, but you can see the README.md where it explains how to use it).

Thanks for your interest!

Best regards.

Hirzelts commented 1 year ago

Thank You for the quick answer!

I will investigate at once.

Hirzelts commented 1 year ago

I like to ask a question about the git collector:

Am i right to assume, that the git collector only works if the spoon collector generated sensible files beforehand, which means the git collector cannot collect independently of the spoon collector for a codebase?

That is what i gather from this part of the readme: "_Finally, the scripts assume that for each codebase in resources/codebases.csv, there is a folder with the codebase name under resources/codebasescollection with 3 files: the static analysis data file, the id to entity file, and the entity to id file."

Best regards.

ritosilva commented 1 year ago

Yes, you are correct. Actually, it would be enough to provide the information about which files correspond to domain entities, but, in the research done when developing the git collector, we also wanted to compare the results obtained using the metrics for cohesion, coupling, etc, which requires the sequences of accesses.


António Rito Silva Associate Professor, Instituto Superior Técnico, University of Lisbon Distributed Parallel and Secure Systems, INESC-ID Rua Alves Redol, 9, Room 535 1000-029 Lisboa, Portugal Tel.: +351-213 100 263

On Mon, Nov 21, 2022 at 12:09 PM Hirzelts @.***> wrote:

I like to ask a question about the git collector:

Am i right to assume, that the git collector only works if the spoon collector generated sensible files beforehand, which means the git collector cannot collect independently of the spoon collector for a codebase?

That is what i gather from this part of the readme: "Finally, the scripts assume that for each codebase in resources/codebases.csv, there is a folder with the codebase name under resources/codebases_collection with 3 files: the static analysis data file, the id to entity file, and the entity to id file."

Best regards.

— Reply to this email directly, view it on GitHub https://github.com/socialsoftware/mono2micro/issues/70#issuecomment-1321959350, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHE3LDNT77YDXAJPBRWA5LWJNQ6XANCNFSM6AAAAAASA2PA4A . You are receiving this because you commented.Message ID: @.***>

ritosilva commented 1 year ago

We have changed it. It does not require the use of Spoon for the commits log anymore. You only have to prepare an Id2Entity json file with the list of the domain entities.

Hirzelts commented 1 year ago

Great! Does this mean Mono2Micro can be applied to every Github project, when using the commit-collector?

ritosilva commented 1 year ago

Yes, the only thing you need to do is to create the Id2Entity json file "by hand" containing the names of the classes that are the entities of the repository.


António Rito Silva Associate Professor, Instituto Superior Técnico, University of Lisbon Distributed Parallel and Secure Systems, INESC-ID Rua Alves Redol, 9, Room 535 1000-029 Lisboa, Portugal Tel.: +351-213 100 263

On Tue, Dec 13, 2022 at 5:59 PM Hirzelts @.***> wrote:

Great! Does this mean Mono2Micro can be applied to every Github project, when using the commit-collector?

— Reply to this email directly, view it on GitHub https://github.com/socialsoftware/mono2micro/issues/70#issuecomment-1349312686, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHE3LAWZO7GLHMOSK2NFR3WNC2O5ANCNFSM6AAAAAASA2PA4A . You are receiving this because you commented.Message ID: @.***>