@proceedings {1725,
	title = {Mining StackOverflow to Filter out Off-topic IRC Discussion},
	year = {2015},
	month = {05/2015},
	pages = {4 pages},
	abstract = {Internet Relay Chat (IRC) is a commonly used tool by OpenSource developers. Developers use IRC channels to discuss programming related problems, but much of the discussion is irrelevant and off-topic. Essentially if we treat IRC discussions like email messages, and apply spam filtering, we can try to filter out the spam (the off-topic discussions) from the ham (the programming discussions). Yet we need labelled data that unfortunately takes time to curate.
To avoid costly curration in order to filter out off-topic discussions, we need positive and negative data-sources. On- line discussion forums, such as StackOverflow, are very effective for solving programming problems. By engaging in open-data, StackOverflow data becomes a powerful source of labelled text regarding programming. This work shows that we can train classifiers using StackOverflow posts as positive examples of on-topic programming discussion. YouTube video comments, notorious for their lack of quality, serve as training set of off- topic discussion. By exploiting these datasets, accurate classifiers can be built, tested and evaluated that require very little effort for end-users to deploy and exploit.},
	keywords = {irc, topics},
	url = {http://webdocs.cs.ualberta.ca/~hindle1/2015/shaiful-mining_so.pdf},
	attachments = {https://flosshub.org/sites/flosshub.org/files/shaiful-mining_so.pdf},
	author = {Shaiful Alam Chowdhury and Hindle, Abram}
}
@proceedings {1755,
	title = {Mining StackOverflow to Filter out Off-topic IRC Discussion},
	year = {2015},
	month = {05/2015},
	abstract = {Internet Relay Chat (IRC) is a commonly used
tool by OpenSource developers. Developers use IRC channels
to discuss programming related problems, but much of the
discussion is irrelevant and off-topic. Essentially if we treat IRC
discussions like email messages, and apply spam filtering, we can
try to filter out the spam (the off-topic discussions) from the ham
(the programming discussions). Yet we need labelled data that
unfortunately takes time to curate.
To avoid costly curration in order to filter out off-topic
discussions, we need positive and negative data-sources. Online
discussion forums, such as StackOverflow, are very effective
for solving programming problems. By engaging in open-data,
StackOverflow data becomes a powerful source of labelled text
regarding programming. This work shows that we can train
classifiers using StackOverflow posts as positive examples of
on-topic programming discussion. YouTube video comments,
notorious for their lack of quality, serve as training set of offtopic
discussion. By exploiting these datasets, accurate classifiers
can be built, tested and evaluated that require very little effort
for end-users to deploy and exploit.},
	keywords = {irc, Stack Overflow, youtube},
	attachments = {https://flosshub.org/sites/flosshub.org/files/shaiful-mining_so_0.pdf},
	author = {Shaiful Alam Chowdhury and Hindle, Abram}
}
@conference {Aggarwal:2014:CPD:2597073.2597120,
	title = {Co-evolution of Project Documentation and Popularity Within Github},
	booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
	series = {MSR 2014},
	year = {2014},
	pages = {360{\textendash}363},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Github is a very popular collaborative software-development platform that provides typical source-code management and issue tracking features augmented by strong social-networking features such as following developers and watching projects. These features help "spread the word" about individuals and projects, building the reputation of the former and increasing the popularity of the latter. In this paper, we investigate the relation between project popularity and regular, consistent documentation updates. We found strong indicators that consistently popular projects exhibited consistent documentation effort and that this effort tended to attract more documentation collaborators. We also found that frameworks required more documentation effort than libraries to achieve similar adoption success, especially in the initial phase.
},
	keywords = {Cross Correlation, Documentation Change, mining challenge, msr challenge, popularity},
	isbn = {978-1-4503-2863-0},
	doi = {10.1145/2597073.2597120},
	url = {http://doi.acm.org/10.1145/2597073.2597120},
	author = {Aggarwal, Karan and Hindle, Abram and Stroulia, Eleni}
}
@article {1395,
	title = {Automated topic naming: supporting cross-project analysis of software maintenance activities},
	journal = {Empirical Software Engineering},
	year = {2012},
	abstract = {Software repositories provide a deluge of software artifacts to analyze. Researchers have attempted to summarize, categorize, and relate these artifacts by using semi-unsupervised machine-learning algorithms, such as Latent Dirichlet Allocation (LDA). LDA is used for concept and topic analysis to suggest candidate word-lists or topics that describe and relate software artifacts. However, these word-lists and topics are difficult to interpret in the absence of meaningful summary labels. Current attempts to interpret topics assume manual labelling and do not use domain-specific knowledge to improve, contextualize, or describe results for the developers. We propose a solution: automated labelled topic extraction. Topics are extracted using LDA from commit-log comments recovered from source control systems. These topics are given labels from a generalizable cross-project taxonomy, consisting of non-functional requirements. Our approach was evaluated with experiments and case studies on three large-scale Relational Database Management System (RDBMS) projects: MySQL, PostgreSQL and MaxDB. The case studies show that labelled topic extraction can produce appropriate, context-sensitive labels that are relevant to these projects, and provide fresh insight into their evolving software development activities. },
	keywords = {LDA, maxdb, mysql, postgresql, topics},
	issn = {1573-7616},
	doi = {10.1007/s10664-012-9209-9},
	author = {Hindle, Abram and Ernst, Neil A. and Godfrey, Michael W. and Mylopoulos, John}
}
@article {springerlink:10.1007/s10664-012-9199-7,
	title = {Software Bertillonage},
	journal = {Empirical Software Engineering},
	year = {2012},
	note = {10.1007/s10664-012-9199-7},
	pages = {1-43},
	publisher = {Springer Netherlands},
	abstract = {Deployed software systems are typically composed of many pieces, not all of which may have been created by the main development team. Often, the provenance of included components{\textemdash}such as external libraries or cloned source code{\textemdash}is not clearly stated, and this uncertainty can introduce technical and ethical concerns that make it difficult for system owners and other stakeholders to manage their software assets. In this work, we motivate the need for the recovery of the provenance of software entities by a broad set of techniques that could include signature matching, source code fact extraction, software clone detection, call flow graph matching, string matching, historical analyses, and other techniques. We liken our provenance goals to that of Bertillonage, a simple and approximate forensic analysis technique based on bio-metrics that was developed in 19th century France before the advent of fingerprints. As an example, we have developed a fast, simple, and approximate technique called anchored signature matching for identifying the source origin of binary libraries within a given Java application. This technique involves a type of structured signature matching performed against a database of candidates drawn from the Maven2 repository, a 275 GB collection of open source Java libraries. To show the approach is both valid and effective, we conducted an empirical study on 945 jars from the Debian GNU/Linux distribution, as well as an industrial case study on 81 jars from an e-commerce application. },
	issn = {1382-3256},
	doi = {10.1007/s10664-012-9199-7},
	url = {http://dx.doi.org/10.1007/s10664-012-9199-7},
	author = {Davies, Julius and German, Daniel and Michael Godfrey and Hindle, Abram}
}
@conference {Hindle:2008:LCT:1370750.1370773,
	title = {What do large commits tell us?: a taxonomical study of large commits},
	booktitle = {Proceedings of the 2008 international working conference on Mining software repositories},
	series = {MSR {\textquoteright}08},
	year = {2008},
	month = {05/2008},
	pages = {99{\textendash}108},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Research in the mining of software repositories has frequently ignored commits that include a large number of files (we call these large commits). The main goal of this paper is to understand the rationale behind large commits, and if there is anything we can learn from them. To address this goal we performed a case study that included the manual classification of large commits of nine open source projects. The contributions include a taxonomy of large commits, which are grouped according to their intention. We contrast large commits against small commits and show that large commits are more perfective while small commits are more corrective. These large commits provide us with a window on the development practices of maintenance teams.},
	keywords = {boost, bug fixing, egroupware, enlightenment, evolution, firebird, large commits, maintenance, mysql, postgresql, samba, software evolution, source control system, spring},
	isbn = {978-1-60558-024-1},
	doi = {http://doi.acm.org/10.1145/1370750.1370773},
	url = {http://doi.acm.org/10.1145/1370750.1370773},
	attachments = {https://flosshub.org/sites/flosshub.org/files/p99-hindle.pdf},
	author = {Hindle, Abram and Daniel M. German and Holt, Ric}
}
@conference {1004,
	title = {Release Pattern Discovery via Partitioning: Methodology and Case Study},
	booktitle = {Fourth International Workshop on Mining Software Repositories (MSR{\textquoteright}07:ICSE Workshops 2007)},
	year = {2007},
	pages = {19 - 19},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Minneapolis, MN, USA},
	abstract = {The development of Open Source systems produces a variety of software artifacts such as source code, version control records, bug reports, and email discussions. Since the development is distributed across different tool environments and developer practices, any analysis of project behavior must be inferred from whatever common artifacts happen to be available. In this paper, we propose an approach to characterizing a project{\textquoteright}s behavior around the time of major and minor releases; we do this by partitioning the observed activities, such as artifact check-ins, around the dates of major and minor releases, and then look for recognizable patterns. We validate this approach by means of a case study on the MySQL database system; in this case study, we found patterns which suggested MySQL was behaving consistently within itself. These patterns included testing and documenting that took place more before a release than after and that the rate of source code changes dipped around release time.},
	keywords = {bitkeeper, bt2csv, cvs, evolution, mysql, releases, revision history, scm, softchange, version control},
	isbn = {0-7695-2950-X},
	doi = {10.1109/MSR.2007.28},
	attachments = {https://flosshub.org/sites/flosshub.org/files/28300019.pdf},
	author = {Hindle, Abram and Godfrey, Michael W. and Holt, Richard C.}
}
@conference {Hindle:2005:SFM:1083142.1083161,
	title = {SCQL: a formal model and a query language for source control repositories},
	booktitle = {Proceedings of the 2005 international workshop on Mining software repositories},
	series = {MSR {\textquoteright}05},
	year = {2005},
	pages = {100-104},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Source Control Repositories are used in most software projects to store revisions to source code files. These repositories operate at the file level and support multiple users. A generalized formal model of source control repositories is described herein. The model is a graph in which the different entities stored in the repository become vertices and their relationships become edges. We then define SCQL, a first order, and temporal logic based query language for source control repositories. We demonstrate how SCQL can be used to specify some questions and then evaluate them using the source control repositories of five different large software projects.},
	keywords = {evolution, file, gnumeric, modperl, openssl, revision, samba, scm, source code},
	isbn = {1-59593-123-6},
	doi = {http://doi.acm.org/10.1145/1082983.1083161},
	url = {http://doi.acm.org/10.1145/1082983.1083161},
	attachments = {https://flosshub.org/sites/flosshub.org/files/100scql.pdf},
	author = {Hindle, Abram and Daniel M. German}
}
