Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dataset? #5

Open
yueyuep opened this issue May 25, 2020 · 8 comments
Open

dataset? #5

yueyuep opened this issue May 25, 2020 · 8 comments

Comments

@yueyuep
Copy link

yueyuep commented May 25, 2020

hello !
I had cloned yours code.and set correct configure. I run the UnfixedAlarmCollector.scala. It seems to need the "fixed-summary-project-vtype.csv" dataset.could you help me.

image

@yueyuep yueyuep closed this as completed May 25, 2020
@yueyuep yueyuep reopened this May 25, 2020
@Kui-Liu
Copy link
Member

Kui-Liu commented May 27, 2020 via email

@darkrsw
Copy link

darkrsw commented May 28, 2020

Hi @yueyuep,

Basically, you can generate the file fixed-summary-project-vtype.csv from your dataset as it depends on the data you are working on. It is why I did not include the file when I share the code.

Anyhow, you can find my version of the file here.

Regards,
Dongsun.

@yueyuep
Copy link
Author

yueyuep commented May 29, 2020

hi,thanks for your help.
i had saw the dataset you share.it incluede three columns,while i dont' know the means of each column . Is there code to generate the fixed-summary-project-vtype.csv .

According you readme. i need to run following three commands:
image
when i run the first one.it need the fixed-summary-project-vtype.csv.also need prj-pack.map
Also,the UnfixedAlarmCollector.scala seems depend on the Neo4j database. it need to quere some result from this database.

@darkrsw
Copy link

darkrsw commented May 29, 2020

@yueyuep
fixed-summary-project-vtype.csv has three columns and they are project, violation type, # of violations, respectively. This file is just for statistics. You can simply create this file from several projects.

prj-pack.map is even simpler and you might not need this file.
It looks like:

ckarthickit-HelloWorld:repo-a
jetty-project-codehaus-jetty6:repo-a
matsim-org-matsim:repo-a
apache-ofbiz:repo-a
...

I had 2000+ projects at the beginning and I had to put them in different directories just for convenience. So, you can ignore the file; Just think of a list of projects.

Neo4j was just necessary to track of identical violations; You need to implement something like the technique shown in the following paper.

P. Avgustinov et al., “Tracking Static Analysis Violations over Time to Capture Developer Characteristics,” in Proceedings of the 37th International Conference on Software Engineering - Volume 1, Piscataway, NJ, USA, 2015, pp. 437–447, Accessed: Oct. 30, 2015. [Online]. Available: http://dl.acm.org/citation.cfm?id=2818754.2818809.

Regards,
Dongsun.

@yueyuep
Copy link
Author

yueyuep commented Jun 5, 2020

thanks,it help me a lot.
in the violation-collection,you use findbugs to analyse the code and collect bugs report. before analysing,you should configure the findbugs. the AlarmExpExecutor.scala need a conf file , i don't konw the format of this conf file .could you share the file exampe.

image

@darkrsw
Copy link

darkrsw commented Jun 5, 2020

@yueyuep
You can find AutoExpConfShellWriter.scala in violation-collection/src/main/scala/edu/lu/uni/serval/alarm/util.

You need to create a conf file for each project you work on.
As the file (i.e., AutoExpConfShellWriter.scala) has many hard-coded strings, you have to adapt many of the source code for your subjects.

Cheers,
Dongsun.

@kimgimkigi
Copy link

@darkrsw

prj-pack.map is even simpler and you might not need this file.

Is there a specific reason that prj-pack.map is not needed? In your code, prj-pack.map is used in other lines.
If I need prj-pack.map, then is it correct to just add ":repo-a" after project name like "jenkinsci-acceptance-test-harness:repo-a"?

In AutoExpConfShellWriter.scala, It looks needs findbugs-exclude-filter.xml .
I cannot find findbugs-exclude-filter.xml from your repositories.
Could you please share findbugs-exclude-filter.xml ?

In AutoExpConfShellWriter.scala, I have to set tmpDir , javaRT, libDir.
What is the expected path of tmpDir and libDir? I cannot expect what it is.

It seems I need more questions for setup. Thanks for your all of kind answers.
Thanks!

@darkrsw
Copy link

darkrsw commented Feb 10, 2022

@kimgimkigi

prj-pack.map is even simpler and you might not need this file.

Is there a specific reason that prj-pack.map is not needed? In your code, prj-pack.map is used in other lines. If I need prj-pack.map, then is it correct to just add ":repo-a" after project name like "jenkinsci-acceptance-test-harness:repo-a"?

The file is just for batch processing of multiple projects.
Back in the day when I was running the experiment, there were too many projects to process.
Thus, I have divided the projects into packs. When running the experiment on a few projects, it is not necessary.

In AutoExpConfShellWriter.scala, It looks needs findbugs-exclude-filter.xml . I cannot find findbugs-exclude-filter.xml from your repositories. Could you please share findbugs-exclude-filter.xml ?

It is optional. Some projects specify don't care warnings. findbugs-exclude-filter.xml is a default file name for the don't care warnings. If the project has no findbugs-exclude-filter.xml, you can just ignore it.

In AutoExpConfShellWriter.scala, I have to set tmpDir , javaRT, libDir. What is the expected path of tmpDir and libDir? I cannot expect what it is.

tmpDir is literally a temporary directory for some intermediate files.
libDir is for .jar files, which are dependencies of the target project. You can copy all dependencies into the directory.

It seems I need more questions for setup. Thanks for your all of kind answers. Thanks!

Thanks for your interest in our work again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants