secure-software-engineering / SuSi

SuSi - our tool to automatically discover sources and sinks in the Android framework
143 stars 74 forks source link

Testing data set of sources and sinks training set #17

Open AmrAshraf opened 5 years ago

AmrAshraf commented 5 years ago

Hello all,

I found that there is source and sinks file named "SourcesSinks_Train.arff" with a good representation of the features and the class label of Android APIs. If there is a test file of this data set for Android V 4.2 or even newer version as the training set is tiny, it will be appreciated.

Thank you in advance.

StevenArzt commented 5 years ago

We have not created such files for newer versions of Android. However, it should be fairly easy to create such datsets using the SuSi project. You only need a JAR file for the newer Android platform version.

AmrAshraf commented 5 years ago

@StevenArzt Thank you for replying. Sounds good. I will try that soon.

salmanee commented 5 years ago

@AmrAshraf Did you end up figuring this out? I'm also looking for pre-built jars of newer android platforms (19-28) to run SuSi on ..

AmrAshraf commented 5 years ago

@salmanee Yes, i found newer versions of android jars combined with framwork.jar in : https://github.com/anggrayudi/android-hidden-api But, i don't run SuSi on them instead i used the old results at that time (For lack of time).

salmanee commented 5 years ago

Thanks @AmrAshraf! aren't some of the APIs missing tho? I mean some methods must have been either added or deprecated to newer API's (19+) since android 4.2 (17)

Thanks again for your quick response

AmrAshraf commented 5 years ago

@salmanee You are right. Very old APIs will be removed in newer API versions. If you want to make an android.jar file that contains most of APIs you will need to extract the .jar files and compare (decode) the .class files then return them combining all the APIs then repack the .jar file (after encoding the .class files). This needs a dedicated program to make this task. You could verify something like that by using Archive browser and Bytecode Decoder plugins in intellij IDE or Android Studio to view the code of android.jar file.

salmanee commented 5 years ago

That makes sense! thanks a lot @AmrAshraf for your detailed response!