{"id":18609618,"url":"https://github.com/secure-software-engineering/android-instrumentation-tutorial","last_synced_at":"2025-09-01T04:37:11.102Z","repository":{"id":9288793,"uuid":"11123243","full_name":"secure-software-engineering/android-instrumentation-tutorial","owner":"secure-software-engineering","description":null,"archived":false,"fork":false,"pushed_at":"2013-09-10T06:19:19.000Z","size":31133,"stargazers_count":10,"open_issues_count":1,"forks_count":11,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-06-08T05:09:39.267Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Logos","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/secure-software-engineering.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-02T11:12:31.000Z","updated_at":"2024-05-12T00:41:42.000Z","dependencies_parsed_at":"2022-08-25T20:51:20.797Z","dependency_job_id":null,"html_url":"https://github.com/secure-software-engineering/android-instrumentation-tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/secure-software-engineering/android-instrumentation-tutorial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2Fandroid-instrumentation-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2Fandroid-instrumentation-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2Fandroid-instrumentation-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2Fandroid-instrumentation-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/secure-software-engineering","download_url":"https://codeload.github.com/secure-software-engineering/android-instrumentation-tutorial/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2Fandroid-instrumentation-tutorial/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267419812,"owners_count":24084258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T03:06:39.201Z","updated_at":"2025-07-27T20:38:04.247Z","avatar_url":"https://github.com/secure-software-engineering.png","language":"Logos","funding_links":[],"categories":[],"sub_categories":[],"readme":"android-instrumentation-tutorial\n================================\n\n\u003cb\u003eThe VM will be provided at the workshop! You do not have to download anything in advance!\u003c/b\u003e\n\nProgram instrumentation is a widely used mechanism in different software engineering areas. \nIt can be used for creating profilers and debuggers, for detecting programming errors at runtime, or for securing programs through inline reference monitoring.\nThis is a tutorial on instrumenting Android applications using Soot and the AspectBench compiler (abc). We show how two well- known monitoring \nlanguages –Tracematches and AspectJ– can be used for instrumenting Android applications. Furthermore, we also describe the more flexible approach of manual \nimperative instrumentation directly using Soot’s intermediate representation Jimple. In all three cases no source code of the target application is required.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecure-software-engineering%2Fandroid-instrumentation-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsecure-software-engineering%2Fandroid-instrumentation-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecure-software-engineering%2Fandroid-instrumentation-tutorial/lists"}