Skip to content

Add support to LAVA-M dataset - #107

Open
Yhcrown wants to merge 9 commits into
eurecom-s3:masterfrom
Yhcrown:master
Open

Add support to LAVA-M dataset#107
Yhcrown wants to merge 9 commits into
eurecom-s3:masterfrom
Yhcrown:master

Conversation

@Yhcrown

@Yhcrown Yhcrown commented Sep 25, 2022

Copy link
Copy Markdown

fix #102.
I add more intercepted functions so that the lava-m programs can properly get input tainted.
If the code is not quite standardized, I hope to get your test and modification.
Thanks & Best regards.

I add more intercepted functions so that the lava-m programs can properly get input tainted.

@aurelf aurelf left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR, I added a few comments.
Also it would be great to add a test case, like extending test/file_input.c those are run by the CI and allow to detect regressions.
Thanks !

Comment thread runtime/LibcWrappers.cpp Outdated
Comment thread runtime/LibcWrappers.cpp Outdated
Comment thread runtime/LibcWrappers.cpp Outdated
@aurelf aurelf added the enhancement New feature or request label Sep 25, 2022
@Yhcrown

Yhcrown commented Sep 26, 2022

Copy link
Copy Markdown
Author

Some functions are difficult for me to write test cases for (like getutent). I’m still learing it. 😢

@aurelf

aurelf commented Sep 26, 2022

Copy link
Copy Markdown
Member

Thanks for the changes! Would be great if the test is possible to add for that function too... Do you think you can add it ?

@Yhcrown

Yhcrown commented Sep 26, 2022

Copy link
Copy Markdown
Author

Thanks for the changes! Would be great if the test is possible to add for that function too... Do you think you can add it ?

It may be a bit difficult for me now 😭 , I haven't figured out how symcc testing works yet. It would be great to have your help!.

@sebastianpoeplau

Copy link
Copy Markdown
Collaborator

I haven't figured out how symcc testing works yet.

We have some documentation here: https://github.com/eurecom-s3/symcc/blob/master/docs/Testing.txt. Let us know if you have questions!

@zhou1615

zhou1615 commented Dec 5, 2022

Copy link
Copy Markdown

Sorry for trouble but this PR does not seem to work in the current version of SymCC.
It seems that g_config.fullyConcrete has been removed from Config.cpp.
I am not quite familiar with SymCC, thus I am not sure how to make it work.

Maybe a possible change is use maybeSetInputFile like this commit d5891b0

@sebastianpoeplau

Copy link
Copy Markdown
Collaborator

Sorry for trouble but this PR does not seem to work in the current version of SymCC. It seems that g_config.fullyConcrete has been removed from Config.cpp. I am not quite familiar with SymCC, thus I am not sure how to make it work.

I can take it over, but I've got a question about the symbolic version of getutent. If I understand correctly, it treats the data returned from this libc function as symbolic input. Is this intended? In other words, do you expect SymCC to generate alternate contents of /var/run/utmp? Users can't write this file anyway, so wouldn't it make more sense to treat any data read from there as concrete?

I don't have a LAVA-M setup to check ☹️

@sebastianpoeplau
sebastianpoeplau self-requested a review December 9, 2022 13:50
@sebastianpoeplau sebastianpoeplau self-assigned this Dec 9, 2022
@aurelf

aurelf commented Nov 25, 2023

Copy link
Copy Markdown
Member

I'm trying to look at this PR, @Yhcrown in case you can give me push access to your branch that would save me quite some time :) It's quite manual now... I seem to be only able modify your pr from the online editor.

@AndrewQuijano

AndrewQuijano commented Aug 13, 2024

Copy link
Copy Markdown
Contributor

Just curious, is this still being worked on? LAVA is currently in the process of being upgraded, and perhaps I can help with this. For now, LAVA is being upgraded to work with LLVM-11 and at least there is potentially a plan to have LAVA leverage symcc to be able to plant bugs in more places in code.

@Yhcrown

@Yhcrown

Yhcrown commented Aug 17, 2024

Copy link
Copy Markdown
Author

Just curious, is this still being worked on? LAVA is currently in the process of being upgraded, and perhaps I can help with this. For now, LAVA is being upgraded to work with LLVM-11 and at least there is potentially a plan to have LAVA leverage symcc to be able to plant bugs in more places in code.

@Yhcrown

Sorry for the late reply. This sounds interesting, but I am not currently pursuing work in this direction. You can discuss advancing this direction with the members here.

@Yhcrown

Yhcrown commented Aug 17, 2024

Copy link
Copy Markdown
Author

I'm trying to look at this PR, @Yhcrown in case you can give me push access to your branch that would save me quite some time :) It's quite manual now... I seem to be only able modify your pr from the online editor.

I'm very sorry for such a late reply, I missed this notification before. I have added you as a collaborator, although it is quite late. I hope this may still be of help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test LAVA-M with SymCC

5 participants