{"action":"created","issue":{"url":"https://api.github.com/repos/secure-software-engineering/soot-infoflow/issues/25","labels_url":"https://api.github.com/repos/secure-software-engineering/soot-infoflow/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/secure-software-engineering/soot-infoflow/issues/25/comments","events_url":"https://api.github.com/repos/secure-software-engineering/soot-infoflow/issues/25/events","html_url":"https://github.com/secure-software-engineering/soot-infoflow/issues/25","id":107732423,"number":25,"title":"Finding the ancestor of an API in the call graph","user":{"login":"ManSoSec","id":10654684,"avatar_url":"https://avatars.githubusercontent.com/u/10654684?v=3","gravatar_id":"","url":"https://api.github.com/users/ManSoSec","html_url":"https://github.com/ManSoSec","followers_url":"https://api.github.com/users/ManSoSec/followers","following_url":"https://api.github.com/users/ManSoSec/following{/other_user}","gists_url":"https://api.github.com/users/ManSoSec/gists{/gist_id}","starred_url":"https://api.github.com/users/ManSoSec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ManSoSec/subscriptions","organizations_url":"https://api.github.com/users/ManSoSec/orgs","repos_url":"https://api.github.com/users/ManSoSec/repos","events_url":"https://api.github.com/users/ManSoSec/events{/privacy}","received_events_url":"https://api.github.com/users/ManSoSec/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/secure-software-engineering/soot-infoflow/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-09-22T14:58:44Z","updated_at":"2015-09-25T14:35:10Z","closed_at":null,"body":"Hi,\r\n\r\nI am wondering how it is possible to find the ancestor of an API in the call graph. I think it is not necessary to do data flow analysis, is it ?\r\nI see that the following method gives the ancestor of a source:\r\nInterproceduralCFG.getMethodOf()\r\nBUT just for the sources that are available in a flow, and not for all of the sources.\r\n\r\nWould you please help me in this issue?\r\n\r\nThanks a lot."},"comment":{"url":"https://api.github.com/repos/secure-software-engineering/soot-infoflow/issues/comments/143239747","html_url":"https://github.com/secure-software-engineering/soot-infoflow/issues/25#issuecomment-143239747","issue_url":"https://api.github.com/repos/secure-software-engineering/soot-infoflow/issues/25","id":143239747,"user":{"login":"ManSoSec","id":10654684,"avatar_url":"https://avatars.githubusercontent.com/u/10654684?v=3","gravatar_id":"","url":"https://api.github.com/users/ManSoSec","html_url":"https://github.com/ManSoSec","followers_url":"https://api.github.com/users/ManSoSec/followers","following_url":"https://api.github.com/users/ManSoSec/following{/other_user}","gists_url":"https://api.github.com/users/ManSoSec/gists{/gist_id}","starred_url":"https://api.github.com/users/ManSoSec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ManSoSec/subscriptions","organizations_url":"https://api.github.com/users/ManSoSec/orgs","repos_url":"https://api.github.com/users/ManSoSec/repos","events_url":"https://api.github.com/users/ManSoSec/events{/privacy}","received_events_url":"https://api.github.com/users/ManSoSec/received_events","type":"User","site_admin":false},"created_at":"2015-09-25T14:35:10Z","updated_at":"2015-09-25T14:35:10Z","body":"If I create a new instance of the InfoflowCFG class like this:\r\nIInfoflowCFG iCfg = new InfoflowCFG();\r\niCfg.getCallersOf doesn't return anything. It is rational because iCfg doesn't contain anything.\r\nI just added the following code to your code : https://github.com/secure-software-engineering/soot-infoflow-android/issues/76\r\n\r\n<img width=\"675\" alt=\"screen shot 2015-09-25 at 15 25 12\" src=\"https://cloud.githubusercontent.com/assets/10654684/10103265/d2fddf92-639a-11e5-8f96-f75f0b6e2dd6.png\">\r\n\r\nThanks a lot."}}