Support external function annotations #92
misonijnik
announced in
Announcements
Replies: 1 comment 1 reply
-
Summary after online discussionNeed add to current annotation properties about function:
It will be good make format more human-readable like next format: {
"z6myFoo5" : { // mangled name, can't get be user
"name" : "myFoo5",
"types" : ["int", "mystruct*", "int", "int"], // Maybe move it to annotation section. Problem with typedef, class etc
"annotation" : [
["Result::$1 + $2 * $3"], // return
[], // this
[], // a
[] // b
],
"properties" : ["determ", "envs", "noreturn"]
}
} But it has several problem:
It can be solved by auto generate of template but it's hard get people to install and configure a tool for this. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
For a precise analysis of real-world program symbolic execution engine should be possible to execute external functions. Although there are executable code models for many commonly used external functions, some behaviors of external functions are difficult to model in this way. We want to add the ability to annotate external functions by specifying their behavior. For this purpose we propose to use the annotation format from the cooddy static analyzer project. At the initial stage we will support annotations like InitNull and Deref.
Annotations example with only
InitNull
andDeref
annotationsWhat do you think about this format of annotations?
Beta Was this translation helpful? Give feedback.
All reactions