@proceedings {1827,
	title = {A Large-Scale Study on Repetitiveness, Containment, and Composability of Routines in Open-Source Projects},
	year = {2016},
	month = {05/2016},
	pages = {362-373},
	abstract = {Source code in software systems has been shown to have a good
degree of repetitiveness at the lexical, syntactical, and API usage
levels. This paper presents a large-scale study on the repetitiveness,
containment, and composability of source code at the semantic level.
We collected a large dataset consisting of 9,224 Java projects with
2.79M class files, 17.54M methods with 187M SLOCs. For each
method in a project, we build the program dependency graph (PDG)
to represent a routine, and compare PDGs with one another as well
as the subgraphs within them. We found that within a project, 12.1\%
of the routines are repeated, and most of them repeat from 2{\textendash}7 times.
As entirety, the routines are quite project-specific with only 3.3\% of
them exactly repeating in 1{\textendash}4 other projects with at most 8 times.
We also found that 26.1\% and 7.27\% of the routines are contained
in other routine(s), i.e., implemented as part of other routine(s) elsewhere
within a project and in other projects, respectively. Except for
trivial routines, their repetitiveness and containment is independent
of their complexity. Defining a subroutine via a per-variable slicing
subgraph in a PDG, we found that 14.3\% of all routines have all
of their subroutines repeated. A high percentage of subroutines in
a routine can be found/reused elsewhere. We collected 8,764,971
unique subroutines (with 323,564 unique JDK subroutines) as basic
units for code searching/synthesis. We also provide practical
implications of our findings to automated tools.},
	doi = {http://dx.doi.org/10.1145/2901739.2901759},
	author = {Nguyen, Anh Duc and Nguyen, Hoan Anh and Nguyen, Tien N.}
}
@proceedings {1447,
	title = {OSS Integration Issues and Community Support: An Integrator Perspective},
	volume = {378},
	year = {2012},
	month = {09/2012},
	pages = {129-143},
	publisher = {IFIP AICT},
	abstract = {The reuse and integration of Open Source Software (OSS) components provided by OSS communities is becoming an economical and strategic need for today{\textquoteright}s organizations. The integration of OSS components provides many benefits, but also risks and challenges. One of the most important risks is the lack of effective and timely OSS community support for dealing with possible integration problems. For gaining an understanding of the common problems that organizations face when integrating OSS components, and the role played by OSS communities, we performed an exploratory study on 25 OSS integration projects from different European organizations. The results show that the main way of reducing integration problems was the use of OSS components from well-established communities; therefore very few integration problems were identified. In most of the cases these problems were successfully solved with the support from the OSS community and/or colleagues. In addition, contrary to the common belief that understanding code from someone else is a hard and undesirable task, some integrators consider OSS code even more understandable than their own code.},
	author = {Ayala, Claudia and Cruzes, Daniela S. and Nguyen, Anh Duc and Conradi, Reidar and Franch, Xavier and Höst, Martin and Ali Babar, Muhammad}
}
