SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Permission Issues in Open-Source
Android Apps: An Exploratory Study
Gian Luca Scoccia, Anthony Peruma, Virginia Pujols, Ivano Malavolta, Daniel E. Krutz
19th IEEE International Working Conference on Source Code Analysis and Manipulation
September 30-October 01, 2019
Research Goal & Contributions
Replication package availability
Provide a better understanding of permission-related issues
(PRIs) introduced and fixed by developers in Android apps
Frequency of PRIs in
a project and their
decay time
Type of developers
introducing and fixing
PRIs
2
Research Questions
1. What are the most common types of permission-related issues in Android
apps?
○ Help developers understand the most prevalent PRIs in their apps and better plan
implementation and maintenance tasks
2. How long do permission-related issues tend to remain in Android apps
across their lifetime?
○ Help developers better prioritize the addressing of PRIs
3. How does developers’ status within the project correlate with the introduction
of permission-related issues?
○ Provides insight on who should be making permission-based decisions for an app
3
Permission-Related Issues (PRIs)
Prior published tools
O Over-permission: too many permissions (violates the least
privilege principle).
M-Perm
U Under-permission: not enough requested permissions. M-Perm
MC Missing Check: checkSelfPermission() is not called when
requesting a permission.
P-Lint
MRP Multiple Requests in Proximity: Multiple permission
requested in close proximity, possibly overwhelming the user.
P-Lint
4
Dataset Construction
F-Droid
GitHub Repositories
(2,002)
Filtering
(923)
Filtering
(574)
Google Play
Java and
AndroidManifest
MPerm & PLint
PRIs
Note:
Filtering includes: duplicate/forked
repositories, # of commits, weeks of activity
and availability on Google Play Store 5
Common Types of PRIs in Android Apps
Findings:
● Permission-related issues are a frequent phenomenon in Android apps
● Over and under-permissions are the two most common issues
Action Item: Developers should integrate permission analysis tools (e.g., MPerm,
PLint) into their development workflow
● Observed a dependence
between PRIs - existence of one
type of PRI indicates that other
types are also present in the
code
6
Decay Time of PRIs in Android Apps
Action Item: Developers should pay increased attention to code that has been
written during early project life
Findings:
● Majority of PRIs are fixed in a timespan of a few days after their introduction
● PRI’s can remain in apps for extended periods of time - even years!
● MC issues are harder to
introduce but also harder to fix
once introduced - due to non
trivial code changes
7
Developers Responsibility Related to PRIs
Action Item: Developers should be cognizant of PRIs when implementing apps
Findings:
● PRI’s are introduced and fixed by regular contributors and newcomers
● Regular contributors are responsible for the majority of introductions and fixes
● Low association between developers’ status and PRI types introduced/fixed
Developers’ status when introducing PRIs Developers’ status when fixing PRIs
8
Summary
● Investigated permission related issues on 574 open-source Android apps
● Permission issues are frequent in Android apps
● Most issues are fixed in a few days, but can also linger for extended periods of
time
● Regular project contributors are responsible for introducing and fixing
permission issues
● Replication package is publically available
9
Thanks!
10
Permission Issues in Open-Source Android Apps: An Exploratory Study

Weitere ähnliche Inhalte

Ähnlich wie Permission Issues in Open-Source Android Apps: An Exploratory Study

ch1introduction-141212095054-conversion-gate02.pdf
ch1introduction-141212095054-conversion-gate02.pdfch1introduction-141212095054-conversion-gate02.pdf
ch1introduction-141212095054-conversion-gate02.pdf
abdallhelkahlout1
 

Ähnlich wie Permission Issues in Open-Source Android Apps: An Exploratory Study (20)

ppt chapter 1.ppt
ppt chapter 1.pptppt chapter 1.ppt
ppt chapter 1.ppt
 
Helping Developers with Privacy
Helping Developers with PrivacyHelping Developers with Privacy
Helping Developers with Privacy
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
AP CS PD 1.3 Week 4.pptx
AP CS PD 1.3 Week 4.pptxAP CS PD 1.3 Week 4.pptx
AP CS PD 1.3 Week 4.pptx
 
A Preliminary Field Study of Game Programming on Mobile Devices
A Preliminary Field Study of Game Programming on Mobile DevicesA Preliminary Field Study of Game Programming on Mobile Devices
A Preliminary Field Study of Game Programming on Mobile Devices
 
ch1introduction-141212095054-conversion-gate02.pdf
ch1introduction-141212095054-conversion-gate02.pdfch1introduction-141212095054-conversion-gate02.pdf
ch1introduction-141212095054-conversion-gate02.pdf
 
Ch1 - Introduction
Ch1 - IntroductionCh1 - Introduction
Ch1 - Introduction
 
Lecture-1-3.pptx
Lecture-1-3.pptxLecture-1-3.pptx
Lecture-1-3.pptx
 
Helping Developers with Privacy, Distinguished Lecture at University of Wisco...
Helping Developers with Privacy, Distinguished Lecture at University of Wisco...Helping Developers with Privacy, Distinguished Lecture at University of Wisco...
Helping Developers with Privacy, Distinguished Lecture at University of Wisco...
 
Security in Android Application
Security in Android ApplicationSecurity in Android Application
Security in Android Application
 
SFO15-TR1: The Philosophy of Open Source Development
SFO15-TR1: The Philosophy of Open Source DevelopmentSFO15-TR1: The Philosophy of Open Source Development
SFO15-TR1: The Philosophy of Open Source Development
 
lecture 1-5.pdf
lecture 1-5.pdflecture 1-5.pdf
lecture 1-5.pdf
 
IRJET- Factors in Selection of Construction Project Management Software i...
IRJET-  	  Factors in Selection of Construction Project Management Software i...IRJET-  	  Factors in Selection of Construction Project Management Software i...
IRJET- Factors in Selection of Construction Project Management Software i...
 
Software Engineering - Ch1 introduction
Software Engineering - Ch1 introductionSoftware Engineering - Ch1 introduction
Software Engineering - Ch1 introduction
 
How Much Does it Cost to Build a Python Application? - ThinkTanker
How Much Does it Cost to Build a Python Application? - ThinkTankerHow Much Does it Cost to Build a Python Application? - ThinkTanker
How Much Does it Cost to Build a Python Application? - ThinkTanker
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
The five fatal flaw in cyber security
The five fatal flaw in cyber securityThe five fatal flaw in cyber security
The five fatal flaw in cyber security
 
How to Test Security and Vulnerability of Your Android and iOS Apps
How to Test Security and Vulnerability of Your Android and iOS AppsHow to Test Security and Vulnerability of Your Android and iOS Apps
How to Test Security and Vulnerability of Your Android and iOS Apps
 
Research software identification - Catherine Jones
Research software identification - Catherine JonesResearch software identification - Catherine Jones
Research software identification - Catherine Jones
 
SE-L1-Introduction-NJ.pptx
SE-L1-Introduction-NJ.pptxSE-L1-Introduction-NJ.pptx
SE-L1-Introduction-NJ.pptx
 

Mehr von University of Hawai‘i at Mānoa

Mehr von University of Hawai‘i at Mānoa (20)

Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...
Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...
Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...
 
A Primer on High-Quality Identifier Naming [ASE 2022]
A Primer on High-Quality Identifier Naming [ASE 2022]A Primer on High-Quality Identifier Naming [ASE 2022]
A Primer on High-Quality Identifier Naming [ASE 2022]
 
Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Q...
Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Q...Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Q...
Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Q...
 
Preparing for the Academic Job Market: Experience and Tips from a Recent F...
Preparing for the  Academic Job Market:  Experience and Tips from  a Recent F...Preparing for the  Academic Job Market:  Experience and Tips from  a Recent F...
Preparing for the Academic Job Market: Experience and Tips from a Recent F...
 
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
 
A Primer on High-Quality Identifier Naming
A Primer on High-Quality Identifier NamingA Primer on High-Quality Identifier Naming
A Primer on High-Quality Identifier Naming
 
Test Anti-Patterns: From Definition to Detection
Test Anti-Patterns: From Definition to DetectionTest Anti-Patterns: From Definition to Detection
Test Anti-Patterns: From Definition to Detection
 
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
 
Understanding Digits in Identifier Names: An Exploratory Study
Understanding Digits in Identifier Names: An Exploratory StudyUnderstanding Digits in Identifier Names: An Exploratory Study
Understanding Digits in Identifier Names: An Exploratory Study
 
How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics i...
How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics i...How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics i...
How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics i...
 
IDEAL: An Open-Source Identifier Name Appraisal Tool
IDEAL: An Open-Source Identifier Name Appraisal ToolIDEAL: An Open-Source Identifier Name Appraisal Tool
IDEAL: An Open-Source Identifier Name Appraisal Tool
 
Using Grammar Patterns to Interpret Test Method Name Evolution
Using Grammar Patterns to Interpret Test Method Name EvolutionUsing Grammar Patterns to Interpret Test Method Name Evolution
Using Grammar Patterns to Interpret Test Method Name Evolution
 
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...
 
Contextualizing Rename Decisions using Refactorings and Commit Messages
Contextualizing Rename Decisions using Refactorings and Commit MessagesContextualizing Rename Decisions using Refactorings and Commit Messages
Contextualizing Rename Decisions using Refactorings and Commit Messages
 
An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...
An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...
An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...
 
On the Distribution of Test Smells in Open Source Android Applications: An Ex...
On the Distribution of Test Smells in Open Source Android Applications: An Ex...On the Distribution of Test Smells in Open Source Android Applications: An Ex...
On the Distribution of Test Smells in Open Source Android Applications: An Ex...
 
A Preliminary Study of Android Refactorings
A Preliminary Study of Android RefactoringsA Preliminary Study of Android Refactorings
A Preliminary Study of Android Refactorings
 
A Career In IT
A Career In ITA Career In IT
A Career In IT
 
Web Content Management - Introduction
Web Content Management - IntroductionWeb Content Management - Introduction
Web Content Management - Introduction
 
Introduction to SignalR
Introduction to SignalRIntroduction to SignalR
Introduction to SignalR
 

Kürzlich hochgeladen

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Kürzlich hochgeladen (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 

Permission Issues in Open-Source Android Apps: An Exploratory Study

  • 1. Permission Issues in Open-Source Android Apps: An Exploratory Study Gian Luca Scoccia, Anthony Peruma, Virginia Pujols, Ivano Malavolta, Daniel E. Krutz 19th IEEE International Working Conference on Source Code Analysis and Manipulation September 30-October 01, 2019
  • 2. Research Goal & Contributions Replication package availability Provide a better understanding of permission-related issues (PRIs) introduced and fixed by developers in Android apps Frequency of PRIs in a project and their decay time Type of developers introducing and fixing PRIs 2
  • 3. Research Questions 1. What are the most common types of permission-related issues in Android apps? ○ Help developers understand the most prevalent PRIs in their apps and better plan implementation and maintenance tasks 2. How long do permission-related issues tend to remain in Android apps across their lifetime? ○ Help developers better prioritize the addressing of PRIs 3. How does developers’ status within the project correlate with the introduction of permission-related issues? ○ Provides insight on who should be making permission-based decisions for an app 3
  • 4. Permission-Related Issues (PRIs) Prior published tools O Over-permission: too many permissions (violates the least privilege principle). M-Perm U Under-permission: not enough requested permissions. M-Perm MC Missing Check: checkSelfPermission() is not called when requesting a permission. P-Lint MRP Multiple Requests in Proximity: Multiple permission requested in close proximity, possibly overwhelming the user. P-Lint 4
  • 5. Dataset Construction F-Droid GitHub Repositories (2,002) Filtering (923) Filtering (574) Google Play Java and AndroidManifest MPerm & PLint PRIs Note: Filtering includes: duplicate/forked repositories, # of commits, weeks of activity and availability on Google Play Store 5
  • 6. Common Types of PRIs in Android Apps Findings: ● Permission-related issues are a frequent phenomenon in Android apps ● Over and under-permissions are the two most common issues Action Item: Developers should integrate permission analysis tools (e.g., MPerm, PLint) into their development workflow ● Observed a dependence between PRIs - existence of one type of PRI indicates that other types are also present in the code 6
  • 7. Decay Time of PRIs in Android Apps Action Item: Developers should pay increased attention to code that has been written during early project life Findings: ● Majority of PRIs are fixed in a timespan of a few days after their introduction ● PRI’s can remain in apps for extended periods of time - even years! ● MC issues are harder to introduce but also harder to fix once introduced - due to non trivial code changes 7
  • 8. Developers Responsibility Related to PRIs Action Item: Developers should be cognizant of PRIs when implementing apps Findings: ● PRI’s are introduced and fixed by regular contributors and newcomers ● Regular contributors are responsible for the majority of introductions and fixes ● Low association between developers’ status and PRI types introduced/fixed Developers’ status when introducing PRIs Developers’ status when fixing PRIs 8
  • 9. Summary ● Investigated permission related issues on 574 open-source Android apps ● Permission issues are frequent in Android apps ● Most issues are fixed in a few days, but can also linger for extended periods of time ● Regular project contributors are responsible for introducing and fixing permission issues ● Replication package is publically available 9