@proceedings {1919,
	title = {A Large-Scale Study on the Usage of Testing Patterns that Address Maintainability Attributes},
	year = {2017},
	note = {"we conducted a large-scale empirical study to measure
the application of software testing in the open source community"

Our novel approach
includes a data set of 82,447 open source projects written in
48 languages

The data used in this study include 82,447 open source
projects, 251 unit testing frameworks, and 4 unit testing
patterns

data url: https://goo.gl/Mc7tHk},
	month = {05/2017},
	pages = {391-401},
	abstract = {Test case maintainability is an important concern,
especially in open source and distributed development environments
where projects typically have high contributor turnover
with varying backgrounds and experience, and where code
ownership changes often. Similar to design patterns, patterns
for unit testing promote maintainability quality attributes such
as ease of diagnoses, modifiability, and comprehension. In this
paper, we report the results of a large-scale study on the usage
of four xUnit testing patterns which can be used to satisfy these
maintainability attributes. This is a first-of-its-kind study which
developed automated techniques to investigate these issues across
82,447 open source projects, and the findings provide more insight
into testing practices in open source projects. Our results indicate
that only 17\% of projects had test cases, and from the 251
testing frameworks we studied, 93 of them were being used.
We found 24\% of projects with test files implemented patterns
that could help with maintainability, while the remaining did
not use these patterns. Multiple qualitative analyses indicate that
usage of patterns was an ad-hoc decision by individual developers,
rather than motivated by the characteristics of the project, and
that developers sometimes used alternative techniques to address
maintainability concerns.},
	keywords = {maintenance, mining software repositories, msr, Unit Test Frameworks, Unit Test Patterns, Unit Testing},
	author = {Danielle Gonzalez and Joanna C.S. Santos and Andrew Popovich and Mehdi Mirakhorli and Mei Nagappan}
}
@conference {Robles:2014:EDE:2597073.2597107,
	title = {Estimating Development Effort in Free/Open Source Software Projects by Mining Software Repositories: A Case Study of OpenStack},
	booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
	series = {MSR 2014},
	year = {2014},
	pages = {222{\textendash}231},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Because of the distributed and collaborative nature of free / open source software (FOSS) projects, the development effort invested in a project is usually unknown, even after the software has been released. However, this information is becoming of major interest, especially ---but not only--- because of the growth in the number of companies for which FOSS has become relevant for their business strategy. In this paper we present a novel approach to estimate effort by considering data from source code management repositories. We apply our model to the OpenStack project, a FOSS project with more than 1,000 authors, in which several tens of companies cooperate. Based on data from its repositories and together with the input from a survey answered by more than 100 developers, we show that the model offers a simple, but sound way of obtaining software development estimations with bounded margins of error.
},
	keywords = {effort estimation, free software, mining software repositories, open source, openstack},
	isbn = {978-1-4503-2863-0},
	doi = {10.1145/2597073.2597107},
	url = {http://doi.acm.org/10.1145/2597073.2597107},
	attachments = {https://flosshub.org/sites/flosshub.org/files/robles_0.pdf},
	author = {Gregorio Robles and Gonz{\'a}lez-Barahona, Jes{\'u}s M. and Cervig{\'o}n, Carlos and Capiluppi, Andrea and Izquierdo-Cort{\'a}zar, Daniel}
}
@conference {Kalliamvakou:2014:PPM:2597073.2597074,
	title = {The Promises and Perils of Mining GitHub},
	booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
	series = {MSR 2014},
	year = {2014},
	pages = {92{\textendash}101},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {With over 10 million git repositories, GitHub is becoming one of the most important source of software artifacts on the Internet. Researchers are starting to mine the information stored in GitHub{\textquoteright}s event logs, trying to understand how its users employ the site to collaborate on software. However, so far there have been no studies describing the quality and properties of the data available from GitHub. We document the results of an empirical study aimed at understanding the characteristics of the repositories in GitHub and how users take advantage of GitHub{\textquoteright}s main features---namely commits, pull requests, and issues. Our results indicate that, while GitHub is a rich source of data on software development, mining GitHub for research purposes should take various potential perils into consideration. We show, for example, that the majority of the projects are personal and inactive; that GitHub is also being used for free storage and as a Web hosting service; and that almost 40\% of all pull requests do not appear as merged, even though they were. We provide a set of recommendations for software engineering researchers on how to approach the data in GitHub.
},
	keywords = {bias, code reviews, git, github, mining software repositories},
	isbn = {978-1-4503-2863-0},
	doi = {10.1145/2597073.2597074},
	url = {http://doi.acm.org/10.1145/2597073.2597074},
	attachments = {https://flosshub.org/sites/flosshub.org/files/perils.pdf},
	author = {Kalliamvakou, Eirini and Gousios, Georgios and Blincoe, Kelly and Singer, Leif and Daniel M. German and Damian, Daniela}
}
@conference {Padhye:2014:SEC:2597073.2597113,
	title = {A Study of External Community Contribution to Open-source Projects on GitHub},
	booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
	series = {MSR 2014},
	year = {2014},
	pages = {332{\textendash}335},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Open-source software projects are primarily driven by community contribution. However, commit access to such projects{\textquoteright} software repositories is often strictly controlled. These projects prefer to solicit external participation in the form of patches or pull requests. In this paper, we analyze a set of 89 top-starred GitHub projects and their forks in order to explore the nature and distribution of such community contribution. We first classify commits (and developers) into three categories: core, external and mutant, and study the relative sizes of each of these classes through a ring-based visualization. We observe that projects written in mainstream scripting languages such as JavaScript and Python tend to include more external participation than projects written in upcoming languages such as Scala. We also visualize the geographic spread of these communities via geocoding. Finally, we classify the types of pull requests submitted based on their labels and observe that bug fixes are more likely to be merged into the main projects as compared to feature enhancements.
},
	keywords = {community participation, core committers, external contribution, mining challenge, mining software repositories, msr challenge, Open-source software, pull requests},
	isbn = {978-1-4503-2863-0},
	doi = {10.1145/2597073.2597113},
	url = {http://doi.acm.org/10.1145/2597073.2597113},
	author = {Padhye, Rohan and Mani, Senthil and Sinha, Vibha Singhal}
}
@article {thomas2014studying,
	title = {Studying software evolution using topic models},
	journal = {Science of Computer Programming},
	volume = {80},
	year = {2014},
	pages = {457{\textendash}479},
	publisher = {Elsevier},
	abstract = {Topic models are generative probabilistic models which have been applied to information
retrieval to automatically organize and provide structure to a text corpus. Topic models
discover topics in the corpus, which represent real world concepts by frequently cooccurring
words. Recently, researchers found topics to be effective tools for structuring
various software artifacts, such as source code, requirements documents, and bug reports.
This research also hypothesized that using topics to describe the evolution of software
repositories could be useful for maintenance and understanding tasks. However, research
has yet to determine whether these automatically discovered topic evolutions describe the
evolution of source code in a way that is relevant or meaningful to project stakeholders, and
thus it is not clear whether topic models are a suitable tool for this task.
In this paper, we take a first step towards evaluating topic models in the analysis of
software evolution by performing a detailed manual analysis on the source code histories
of two well-known and well-documented systems, JHotDraw and jEdit. We define and
compute various metrics on the discovered topic evolutions and manually investigate how
and why the metrics evolve over time. We find that the large majority (87\%{\textendash}89\%) of topic
evolutions correspond well with actual code change activities by developers. We are thus
encouraged to use topic models as tools for studying the evolution of a software system.},
	keywords = {Latent Dirichlet allocation, mining software repositories, software evolution, topic model},
	url = {http://sail.cs.queensu.ca/publications/pubs/Thomas-2012-SCP.pdf},
	author = {Stephen W. Thomas and Adams, Bram and Hassan, Ahmed E. and Blostein, Dorothea}
}
@conference {zmzkh-icsm-2013,
	title = {How does Context affect the Distribution of Software Maintainability Metrics?},
	booktitle = {Proceedings of the 29th IEEE International Conference on Software Maintainability},
	series = {ICSM {\textquoteright}13},
	year = {2013},
	note = {"FLOSSMole [25] is another data source, from
where we download descriptions (i.e., application domain)
of SourceForge software systems. Furthermore, we download
latest application domain information4
and monthly download
data5 of studied software systems directly from SourceForge."},
	abstract = {Software metrics have many uses, e.g., defect prediction, effort estimation, and benchmarking an organization against peers and industry standards. In all these cases, metrics may depend on the context, such as the programming language. Here we aim to investigate if the distributions of commonly used metrics do, in fact, vary with six context factors: application domain, programming language, age, lifespan, the number of changes, and the number of downloads. For this preliminary study we select 320 nontrivial software systems from SourceForge. These software systems are randomly sampled from nine popular application domains of SourceForge. We calculate 39 metrics commonly used to assess software maintainability for each software system and use Kruskal Wallis test and Mann-Whitney U test to determine if there are significant differences among the distributions with respect to each of the six context factors. We use Cliff{\textquoteright}s delta to measure the magnitude of the differences and find that all six context factors affect the distribution of 20 metrics and the programming language factor affects 35 metrics. We also briefly discuss how each context factor may affect the distribution of metric values.We expect our results to help software benchmarking and other software engineering methods that rely on these commonly used metrics to be tailored to a particular context.},
	keywords = {benchmark, context, contextual factor, flossmole, large scale, metrics, mining software repositories, sampling, software maintainability, sourceforge, static metrics},
	attachments = {https://flosshub.org/sites/flosshub.org/files/icsm2013_contextstudy.pdf},
	author = {Zhang, Feng and Audris Mockus and Ying Zou and Foutse Khomh and Hassan, Ahmed E.}
}
@proceedings {1501,
	title = {The Impact of Tangled Code Changes},
	year = {2013},
	month = {05/2013},
	abstract = {When interacting with version control systems, developers often commit unrelated or loosely related code changes
in a single transaction. When analyzing the version history, such
tangled changes will make all changes to all modules appear
related, possibly compromising the resulting analyses through
noise and bias. In an investigation of five open-source JAVA
projects, we found up to 15\% of all bug fixes to consist of multiple
tangled changes. Using a multi-predictor approach to untangle
changes, we show that on average at least 16.6\% of all source
files are incorrectly associated with bug reports. We recommend
better change organization to limit the impact of tangled changes.},
	keywords = {bias, data quality, history, java, mining software repositories, noise, tangled code changes, version control},
	url = {http://www.kim-herzig.de/wp-content/uploads/2013/03/msr2013-untangling.pdf},
	attachments = {https://flosshub.org/sites/flosshub.org/files/msr2013-untangling.pdf},
	author = {Kim Herzig and Zeller, Andreas}
}
@proceedings {1521,
	title = {It{\textquoteright}s Not a Bug, It{\textquoteright}s a Feature: How Misclassification Impacts Bug Prediction},
	year = {2013},
	month = {05/2013},
	pages = {392-401},
	abstract = {In a manual examination of more than 7,000 issue reports from the bug databases of five open-source projects, we found 33.8\% of all bug reports to be misclassified{\textemdash}that is, rather than referring to a code fix, they resulted in a new feature, an update to documentation, or an internal refactoring. This misclassification introduces bias in bug prediction models, confusing bugs and features: On average, 39\% of files marked as defective actually never had a bug. We discuss the impact of this misclassification on earlier studies and recommend manual data validation for future studies.},
	keywords = {bias, bug reports, data quality, mining software repositories, noise},
	author = {Kim Herzig and Sascha Just and Zeller, Andreas}
}
@article {1418,
	title = {Effort estimation of FLOSS projects: a study of the Linux kernel},
	journal = {Empirical Software Engineering},
	year = {2011},
	pages = {1-29},
	abstract = {Empirical research on Free/Libre/Open Source Software (FLOSS) has shown that developers tend to cluster around two main roles: {\textquotedblleft}core{\textquotedblright} contributors differ from {\textquotedblleft}peripheral{\textquotedblright} developers in terms of a larger number of responsibilities and a higher productivity pattern. A further, cross-cutting characterization of developers could be achieved by associating developers with {\textquotedblleft}time slots{\textquotedblright}, and different patterns of activity and effort could be associated to such slots. Such analysis, if replicated, could be used not only to compare different FLOSS communities, and to evaluate their stability and maturity, but also to determine within projects, how the effort is distributed in a given period, and to estimate future needs with respect to key points in the software life-cycle (e.g., major releases). This study analyses the activity patterns within the Linux kernel project, at first focusing on the overall distribution of effort and activity within weeks and days; then, dividing each day into three 8-hour time slots, and focusing on effort and activity around major releases. Such analyses have the objective of evaluating effort, productivity and types of activity globally and around major releases. They enable a comparison of these releases and patterns of effort and activities with traditional software products and processes, and in turn, the identification of company-driven projects (i.e., working mainly during office hours) among FLOSS endeavors. The results of this research show that, overall, the effort within the Linux kernel community is constant (albeit at different levels) throughout the week, signalling the need of updated estimation models, different from those used in traditional 9am{\textendash}5pm, Monday to Friday commercial companies. It also becomes evident that the activity before a release is vastly different from after a release, and that the changes show an increase in code complexity in specific time slots (notably in the late night hours), which will later require additional maintenance efforts.},
	keywords = {complexity, effort estimation, Effort models, mining software repositories, open source software},
	issn = {1573-7616},
	doi = {10.1007/s10664-011-9191-7},
	url = {http://www.springerlink.com/content/612r616k8t52m867/fulltext.html},
	author = {Capiluppi, Andrea and Izquierdo-Cort{\'a}zar, Daniel}
}
@conference {Holmes:2008:NGE:1370750.1370787,
	title = {A newbie{\textquoteright}s guide to eclipse APIs},
	booktitle = {Proceedings of the 2008 international working conference on Mining software repositories},
	series = {MSR {\textquoteright}08},
	year = {2008},
	pages = {149{\textendash}152},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Eclipse has evolved from a fledgling Java IDE into a mature software ecosystem. One of the greatest benefits Eclipse provides developers is flexibility; however, this is not without cost. New Eclipse developers often find the framework to be large and confusing. Determining which parts of the framework they should be using can be a difficult task as Eclipse documentation tends to be either very high-level, focusing on the design of the framework, or low-level, focusing on specific APIs. We have developed a tool called PopCon that provides a bridge between high-level design documentation and low-level API documentation by statically analyzing a framework and several of its clients and providing a ranked list of the relative popularity of its APIs. We have applied PopCon to the Eclipse framework for this challenge to help newbie Eclipse developers identify some of the most relevant APIs for their tasks.},
	keywords = {API popularity, documentation, eclipse, mining software repositories, module, msr challenge, PopCon, popularity},
	isbn = {978-1-60558-024-1},
	doi = {http://doi.acm.org/10.1145/1370750.1370787},
	url = {http://doi.acm.org/10.1145/1370750.1370787},
	author = {Holmes, Reid and Walker, Robert J.}
}
@conference {Amor:2006:EEC:1139113.1139116,
	title = {Effort Estimation by Characterizing Developer Activity},
	booktitle = {Proceedings of the 2006 International Workshop on Economics Driven Software Engineering Research},
	series = {EDSER {\textquoteright}06},
	year = {2006},
	pages = {3{\textendash}6},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {During the latest years libre (free, open source) software has gained a lot of attention from the industry. Following this interest, the research community is also studying it. For instance, many teams are performing quantitative analysis on the large quantity of data which is publicly available from the development repositories maintained by libre software projects. However, not much of this research is focused on cost or effort estimations, despite its importance (for instance, for companies developing libre software or collaborating with libre software projects), and the availability of some data which could be useful for this purpose. Our position is that classical effort estimation models can be improved from the study of these data, at least when applied to libre software. In this paper, we focus on the characterization of developer activity, which we argue can improve effort estimation. This activity can be traced with a lot of detail, and the resulting data can also be used for validation of any effort estimation model.
},
	keywords = {developer characterization, effort estimation, mining software repositories, open source software, software economics},
	isbn = {1-59593-396-4},
	doi = {10.1145/1139113.1139116},
	url = {http://doi.acm.org/10.1145/1139113.1139116},
	author = {Amor, Juan Jose and Gregorio Robles and Jesus M. Gonzalez-Barahona}
}
@conference {Canfora:2006:FGI:1137983.1138009,
	title = {Fine grained indexing of software repositories to support impact analysis},
	booktitle = {Proceedings of the 2006 international workshop on Mining software repositories},
	series = {MSR {\textquoteright}06},
	year = {2006},
	pages = {105{\textendash}111},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Versioned and bug-tracked software systems provide a huge amount of historical data regarding source code changes and issues management. In this paper we deal with impact analysis of a change request and show that data stored in software repositories are a good descriptor on how past change requests have been resolved. A fine grained analysis method of software repositories is used to index code at different levels of granularity, such as lines of code and source files, with free text contained in software repositories. The method exploits information retrieval algorithms to link the change request description and code entities impacted by similar past change requests. We evaluate such approach on a set of three open-source projects.},
	keywords = {argouml, change analysis, Firefox, gedit, impact analysis, mining software repositories, scm, source code, version control},
	isbn = {1-59593-397-2},
	doi = {http://doi.acm.org/10.1145/1137983.1138009},
	url = {http://doi.acm.org/10.1145/1137983.1138009},
	attachments = {https://flosshub.org/sites/flosshub.org/files/105FineGrained.pdf},
	author = {Canfora, Gerardo and Cerulo, Luigi}
}
@conference {Robles:2006:GLD:1137983.1138017,
	title = {Geographic location of developers at SourceForge},
	booktitle = {Proceedings of the 2006 international workshop on Mining software repositories},
	series = {MSR {\textquoteright}06},
	year = {2006},
	pages = {144{\textendash}150},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {The development of libre (free/open source) software is usually performed by geographically distributed teams. Participation in most cases is voluntary, sometimes sporadic, and often not framed by a pre-defined management structure. This means that anybody can contribute, and in principle no national origin has advantages over others, except for the differences in availability and quality of Internet connections and language. However, differences in participation across regions do exist, although there are little studies about them. In this paper we present some data which can be the basis for some of those studies. We have taken the database of users registered at SourceForge, the largest libre software development web-based platform, and have inferred their geographical locations. For this, we have applied several techniques and heuristics on the available data (mainly e-mail addresses and time zones), which are presented and discussed in detail. The results show a snapshot of the regional distribution of SourceForge users, which may be a good proxy of the actual distribution of libre software developers. In addition, the methodology may be of interest for similar studies in other domains, when the available data is similar (as is the case of mailing lists related to software projects).},
	keywords = {distributed, email, email address, free software, geographical location, geography, libre software, mining software repositories, open source software, sourceforge, timezone},
	isbn = {1-59593-397-2},
	doi = {http://doi.acm.org/10.1145/1137983.1138017},
	url = {http://doi.acm.org/10.1145/1137983.1138017},
	attachments = {https://flosshub.org/sites/flosshub.org/files/144GeographicLocation.pdf},
	author = {Gregorio Robles and Jesus M. Gonzalez-Barahona}
}
@conference {Xie:2006:MMA:1137983.1137997,
	title = {MAPO: mining API usages from open source repositories},
	booktitle = {Proceedings of the 2006 international workshop on Mining software repositories},
	series = {MSR {\textquoteright}06},
	year = {2006},
	pages = {54{\textendash}57},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {To improve software productivity, when constructing new software systems, developers often reuse existing class libraries or frameworks by invoking their APIs. Those APIs, however, are often complex and not well documented, posing barriers for developers to use them in new client code. To get familiar with how those APIs are used, developers may search the Web using a general search engine to find relevant documents or code examples. Developers can also use a source code search engine to search open source repositories for source files that use the same APIs. Nevertheless, the number of returned source files is often large. It is difficult for developers to learn API usages from a large number of returned results. In order to help developers understand API usages and write API client code more effectively, we have developed an API usage mining framework and its supporting tool called MAPO (for Mining API usages from Open source repositories). Given a query that describes a method, class, or package for an API, MAPO leverages the existing source code search engines to gather relevant source files and conducts data mining. The mining leads to a short list of frequent API usages for developers to inspect. MAPO currently consists of five components: a code search engine, a source code analyzer, a sequence preprocessor, a frequent sequence miner, and a frequent sequence post processor. We have examined the effectiveness of MAPO using a set of various queries. The preliminary results show that the framework is practical for providing informative and succinct API usage patterns.},
	keywords = {api, application programming interfaces, documentation, mining software repositories, pmd, program comprehension, search engine, sequences, source code, source code search engine},
	isbn = {1-59593-397-2},
	doi = {http://doi.acm.org/10.1145/1137983.1137997},
	url = {http://doi.acm.org/10.1145/1137983.1137997},
	attachments = {https://flosshub.org/sites/flosshub.org/files/54MAPO.pdf},
	author = {Xie, Tao and Pei, Jian}
}
@conference {Robles:2006:MLS:1137983.1137986,
	title = {Mining large software compilations over time: another perspective of software evolution},
	booktitle = {Proceedings of the 2006 international workshop on Mining software repositories},
	series = {MSR {\textquoteright}06},
	year = {2006},
	pages = {3{\textendash}9},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {With the success of libre (free, open source) software, a new type of software compilation has become increasingly common. Such compilations, often referred to as {\textquoteright}distributions{\textquoteright}, group hundreds, if not thousands, of software applications and libraries written by independent parties into an integrated system. Software compilations raise a number of questions that have not been targeted so far by software evolution, which usually focuses on the evolution of single applications. Undoubtedly, the challenges that software compilations face differ from those found in single software applications. Nevertheless, it can be assumed that both, the evolution of applications and that of software compilations, have similarities and dependencies.In this sense, we identify a dichotomy, common to that in economics, of software evolution in the small (micro-evolution) and in the large (macro-evolution). The goal of this paper is to study the evolution of a large software compilation, mining the publicly available repository of a well-known Linux distribution, Debian. We will therefore investigate changes related to hundreds of millions of lines of code over seven years. The aspects that will be covered in this paper are size (in terms of number of packages and of number of lines of code), use of programming languages, maintenance of packages and file sizes.},
	keywords = {debian, distributions, evolution, large software collections, lines of code, loc, metrics, mining software repositories, size, sloc, sloccount, software evolution, software integrators},
	isbn = {1-59593-397-2},
	doi = {http://doi.acm.org/10.1145/1137983.1137986},
	url = {http://doi.acm.org/10.1145/1137983.1137986},
	attachments = {https://flosshub.org/sites/flosshub.org/files/3miningLarge.pdf},
	author = {Gregorio Robles and Jesus M. Gonzalez-Barahona and Martin Michlmayr and Amor, Juan Jose}
}
@conference {Kagdi:2006:MSC:1137983.1137996,
	title = {Mining sequences of changed-files from version histories},
	booktitle = {Proceedings of the 2006 international workshop on Mining software repositories},
	series = {MSR {\textquoteright}06},
	year = {2006},
	pages = {47{\textendash}53},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Modern source-control systems, such as Subversion, preserve change-sets of files as atomic commits. However, the specific ordering information in which files were changed is typically not found in these source-code repositories. In this paper, a set of heuristics for grouping change-sets (i.e., log-entries) found in source-code repositories is presented. Given such groups of change-sets, sequences of files that frequently change together are uncovered. This approach not only gives the (unordered) sets of files but supplements them with (partial temporal) ordering information. The technique is demonstrated on a subset of KDE source-code repository. The results show that the approach is able to find sequences of changed-files.},
	keywords = {change, change history, change management, change sequences, heuristics, kde, mining software repositories, scm, sequences, source code},
	isbn = {1-59593-397-2},
	doi = {http://doi.acm.org/10.1145/1137983.1137996},
	url = {http://doi.acm.org/10.1145/1137983.1137996},
	attachments = {https://flosshub.org/sites/flosshub.org/files/47MiningSequences.pdf},
	author = {Kagdi, Huzefa and Yusuf, Shehnaaz and Maletic, Jonathan I.}
}
@conference {German:2006:SCP:1137983.1138022,
	title = {A study of the contributors of PostgreSQL},
	booktitle = {Proceedings of the 2006 international workshop on Mining software repositories},
	series = {MSR {\textquoteright}06},
	year = {2006},
	pages = {163{\textendash}164},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {This report describes some characteristics of the development team of PostgreSQL that were uncovered by analyzing the history of its software artifacts as recorded by the project{\textquoteright}s CVS repository.},
	keywords = {contributions, contributors, cvs, developers, mining challenge, mining software repositories, msr challenge, patches, postgresql, revision history, roles, software evolution, source code, team},
	isbn = {1-59593-397-2},
	doi = {http://doi.acm.org/10.1145/1137983.1138022},
	url = {http://doi.acm.org/10.1145/1137983.1138022},
	attachments = {https://flosshub.org/sites/flosshub.org/files/163AStudyOf.pdf},
	author = {Daniel M. German}
}
@conference {German:2006:UEA:1137983.1138020,
	title = {Using evolutionary annotations from change logs to enhance program comprehension},
	booktitle = {Proceedings of the 2006 international workshop on Mining software repositories},
	series = {MSR {\textquoteright}06},
	year = {2006},
	pages = {159{\textendash}162},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Evolutionary annotations are descriptions of how source code evolves over time. Typical source comments, given their static nature, are usually inadequate for describing how a program has evolved over time; instead, source code comments are typically a description of what a program currently does. We propose the use of evolutionary annotations as a way of describing the rationale behind changes applied to a given program (for example "These lines were added to ..."). Evolutionary annotations can assist a software developer in the understanding of how a given portion of source code works by showing him how the source has evolved into its current form.In this paper we describe a method to automatically create evolutionary annotations from change logs, defect tracking systems and mailing lists. We describe the design of a prototype for Eclipse that can filter and present these annotations alongside their corresponding source code and in workbench views. We use Apache as a test case to demonstrate the feasibility of this approach.},
	keywords = {annotations, apache, bug tracking, change history, eclipse, evolutionary, log files, mailing lists, mining software repositories, software evolution, version control},
	isbn = {1-59593-397-2},
	doi = {http://doi.acm.org/10.1145/1137983.1138020},
	url = {http://doi.acm.org/10.1145/1137983.1138020},
	attachments = {https://flosshub.org/sites/flosshub.org/files/159UsingEvolutionary.pdf},
	author = {Daniel M. German and Peter C. Rigby and Storey, Margaret-Anne}
}
@conference {Canfora:2006:BRK:1137983.1138032,
	title = {Where is bug resolution knowledge stored?},
	booktitle = {Proceedings of the 2006 international workshop on Mining software repositories},
	series = {MSR {\textquoteright}06},
	year = {2006},
	pages = {183{\textendash}184},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {ArgoUML uses both CVS and Bugzilla to keep track of bug-fixing activities since 1998. A common practice is to reference source code changes resolving a bug stored in Bugzilla by inserting the id number of the bug in the CVS commit notes. This relationship reveals useful to predict code entities impacted by a new bug report.In this paper we analyze ArgoUML software repositories with a tool, we have implemented, showing what are Bugzilla fields that better predict such impact relationship, that is where knowledge about bug resolution is stored.},
	keywords = {argouml, bugs, bugzilla, cvs, impact analysis, mining challenge, mining software repositories, msr challenge, source code},
	isbn = {1-59593-397-2},
	doi = {http://doi.acm.org/10.1145/1137983.1138032},
	url = {http://doi.acm.org/10.1145/1137983.1138032},
	attachments = {https://flosshub.org/sites/flosshub.org/files/183WhereIsBug.pdf},
	author = {Canfora, Gerardo and Cerulo, Luigi}
}
