@proceedings {1921,
	title = {Who Added that Permission to My App? An Analysis of Developer Permission Changes in Open Source Android Apps},
	year = {2017},
	note = {"Our first step was to collect open source Android repositories
from F-Droid ... We collected the git repositories for each
app, ... we recorded
all permissions, including those which were custom. 
At the time of our analysis, F-Droid contained information
for 2,372 open source Android apps. ... This process
identified 1,402 apps that had a AndroidManifest.xml file
with a history of commits... we created a tool
known as Open Source Android Repository Analyzer (oSARA)...we extracted version control
commit information ... extracts all committed AndroidManifest.xml
files from the version control history ...the committed
version of the AndroidManifest.xml file was also extracted
from the repositories, and all metadata was stored in a SQLite
database"},
	month = {05/2017},
	pages = {165-169},
	abstract = {Android applications rely on a permission-based
model to carry out core functionality. Appropriate permission
usage is imperative for ensuring device security and protecting
the user{\textquoteright}s desired privacy levels. But who is making the important
decisions of which permissions the app should request? Are they
experienced developers with the appropriate project knowledge to
make such important decisions, or are these crucial choices being
made by those with relatively minor amounts of contributions to
the project? When are these permission-related decisions being
made in the app{\textquoteright}s development life cycle? We examined 1,402
Android version control repositories containing over 331,318
commits including 18,751 AndroidManifest.xml versions to better
understand when, why, and who is adding permissions to apps.
We found that (I) developers with more experience are more
likely to make permission-based changes (II) permissions are
typically added earlier in apps{\textquoteright} commit lifetime, but their
removal is more sustained throughout the commit lifetime (III)
developers reverting permission-based changes are typically more
experienced than developers who initially made the change being
reverted.},
	keywords = {android, mobile},
	author = {Krutz, Daniel E. and Nuthan Munaiah and Anthony Peruma and Mohamed Wiem Mkaouer}
}
@conference {Krutz:2014:CCO:2597073.2597127,
	title = {A Code Clone Oracle},
	booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
	series = {MSR 2014},
	year = {2014},
	pages = {388{\textendash}391},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Code clones are functionally equivalent code segments. Detecting code clones is important for determining bugs, fixes and software reuse. Code clone detection is also essential for developing fast and precise code search algorithms. How- ever, the challenge of such research is to evaluate that the clones detected are indeed functionally equivalent, consider- ing the majority of clones are not textual or even syntactically identical. The goal of this work is to generate a set of method level code clones with a high confidence to help to evaluate future code clone detection and code search tools to evaluate their techniques. We selected three open source programs, Apache, Python and PostgreSQL, and randomly sampled a total of 1536 function pairs. To confirm whether or not these function pairs indicate a clone and what types of clones they belong to, we recruited three experts who have experience in code clone research and four students who have experience in programming for manual inspection. For confidence of the data, the experts consulted multiple code clone detection tools to make the consensus. To assist manual inspection, we built a tool to automatically load function pairs of interest and record the manual inspection results. We found that none of the 66 pairs are textual identical type- 1 clones, and 9 pairs are type-4 clones. Our data is available at: http://phd.gccis.rit.edu/weile/data/cloneoracle/.
},
	keywords = {clone, Clone Oracle, Code Clone Detection, msr data showcase, software engineering},
	isbn = {978-1-4503-2863-0},
	doi = {10.1145/2597073.2597127},
	url = {http://doi.acm.org/10.1145/2597073.2597127},
	attachments = {https://flosshub.org/sites/flosshub.org/files/clone_oracle.pdf},
	author = {Krutz, Daniel E. and Le, Wei}
}
