@conference {951, title = {The evolution of ANT build systems}, booktitle = {2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010)2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010)}, year = {2010}, pages = {42 - 51}, publisher = {IEEE}, organization = {IEEE}, address = {Cape Town, South Africa}, abstract = {Build systems are responsible for transforming static source code artifacts into executable software. While build systems play such a crucial role in software development and maintenance, they have been largely ignored by software evolution researchers. With a firm understanding of build system aging processes, project managers could allocate personnel and resources to build system maintenance tasks more effectively, reducing the build maintenance overhead on regular development activities. In this paper, we study the evolution of ANT build systems from two perspectives: (1) a static perspective, where we examine the build system specifications using software metrics adopted from the source code domain; and (2) a dynamic perspective where representative sample build runs are conducted and their output logs are analyzed. Case studies of four open source ANT build systems with a combined history of 152 releases show that not only do ANT build systems evolve, but also that they need to react in an agile manner to changes in the source code.}, keywords = {ant, argouml, build, eclipse, jboss, maintenance, metrics, source code, tomcat}, isbn = {978-1-4244-6802-7}, doi = {10.1109/MSR.2010.5463341}, attachments = {https://flosshub.org/sites/flosshub.org/files/42msr2010_mcintosh.pdf}, author = {McIntosh, Shane and Adams, Bram and Hassan, Ahmed E.} } @conference {998, title = {Visual Data Mining in Software Archives to Detect How Developers Work Together}, booktitle = {Fourth International Workshop on Mining Software RepositoriesFourth International Workshop on Mining Software Repositories (MSR{\textquoteright}07:ICSE Workshops 2007)}, year = {2007}, pages = {9 - 9}, publisher = {IEEE}, organization = {IEEE}, address = {Minneapolis, MN, USA}, abstract = {Analyzing the check-in information of open source software projects which use a version control system such as CVS or SUBVERSION can yield interesting and important insights into the programming behavior of developers. As in every major project tasks are assigned to many developers, the development must be coordinated between these programmers. This paper describes three visualization techniques that help to examine how programmers work together, e.g. if they work as a team or if they develop their part of the software separate from each other. Furthermore, phases of stagnation in the lifetime of a project can be uncovered and thus, possible problems are revealed. To demonstrate the usefulness of these visualization techniques we performed case studies on two open source projects. In these studies interesting patterns of developers? behavior, e.g. the specialization on a certain module can be observed. Moreover, modules that have been changed by many developers can be identified as well as such ones that have been altered by only one programmer.}, keywords = {change, coordination, cvs, developers, junit, modules, scm, source code, svn, teams, tomcat, visualization}, isbn = {0-7695-2950-X}, doi = {10.1109/MSR.2007.34}, attachments = {https://flosshub.org/sites/flosshub.org/files/28300009.pdf}, author = {Weissgerber, Peter and Pohl, Mathias and Burch, Michael} } @conference {Gorg:2005:EDR:1083142.1083148, title = {Error detection by refactoring reconstruction}, booktitle = {Proceedings of the 2005 international workshop on Mining software repositories}, series = {MSR {\textquoteright}05}, year = {2005}, pages = {29-33}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, abstract = {In many cases it is not sufficient to perform a refactoring only at one location of a software project. For example, refactorings may have to be performed consistently to several classes in the inheritance hierarchy, e.g. subclasses or implementing classes, to preserve equal behavior.In this paper we show how to detect incomplete refactorings - which can cause long standing bugs because some of them do not cause compiler errors - by analyzing software archives. To this end we reconstruct the class inheritance hierarchies, as well as refactorings on the level of methods. Then, we relate these refactorings to the corresponding hierarchy in order to find missing refactorings and thus, errors and inconsistencies that have been introduced in a software project at some point of the history.Finally. we demonstrate our approach by case studies on two open source projects.}, keywords = {bugs, class, inheritance, jedit, refactoring, tomcat}, isbn = {1-59593-123-6}, doi = {http://doi.acm.org/10.1145/1082983.1083148}, url = {http://doi.acm.org/10.1145/1082983.1083148}, attachments = {https://flosshub.org/sites/flosshub.org/files/29ErrorDetection.pdf}, author = {G{\"o}rg, Carsten and Wei{\ss}gerber, Peter} } @conference {1050, title = {Mining version control systems for FACs (frequently applied changes)}, booktitle = {International Workshop on Mining Software Repositories (MSR 2004)}, volume = {2004}, year = {2004}, pages = {48 - 52}, publisher = {IEE}, organization = {IEE}, address = {Edinburgh, Scotland, UK}, abstract = {Today, programmers are forced to maintain a software system based on their gut feeling and experience. This paper makes an attempt to turn the software maintenance craft into a more disciplined activity, by mining for frequently applied changes in a version control system. Next to some initial results, we show how this technique allows to recover and study successful maintenance strategies, adopted for the redesign of long{\textendash}lived systems.}, keywords = {ccfinder, change analysis, change history, clone, clone detection, cvs, maintenance, tomcat, version control}, doi = {10.1049/ic:20040475}, attachments = {https://flosshub.org/sites/flosshub.org/files/48MiningVersion.pdf}, author = {Van Rysselberghe, F. and Demeyer, S} } @conference {1248, title = {Supporting Distributed and Decentralized Projects: Drawing Lessons from the Open Source Community}, booktitle = {1st Workshop on Open Source in an Industrial Context}, year = {2003}, note = {"We begin the remainder of the paper with discussion of a survey of open source projects, showing similarities that have arisen in tool usage"}, month = {10/2003}, abstract = {Open source projects are typically organized in a distributed and decentralized manner. These factors strongly determine the processes followed and constrain the types of tools that can be utilized. This paper explores how distribution and decentralization have affected processes and tools in existing open source projects with the goals of summarizing the lessons learned and identifying opportunities for improving both. Issues considered include decision-making, accountability, communication, awareness, rationale, managing source code, testing, and release management.}, keywords = {abiword, apache, debian, freebsd, kde, linux, mozilla, mysql, perl, PHP, postgresql, python, subversion, tomcat, tools}, attachments = {https://flosshub.org/sites/flosshub.org/files/erenkrantz2003.pdf}, author = {Erenkrantz, J. and Taylor, R.N.} } @article {1095, title = {High Quality and Open Source Software Practices}, journal = {Proceedings of the 2nd ICSE Workshop on Open Source}, year = {2002}, note = {"We examined the publicly visible portions of these projects from November 2001 through March 2002, ...The SLOC counts for the predominate languages are shown}, month = {2002}, abstract = {Surveys suggest that, according to various metrics, the quality and dependability of today{\textquoteright}s open source software is roughly on par with commercial and government developed software. What are the prospects for advancing to much higher levels of quality in open source software? More specifically, what attributes must be possessed by quality-related interventions for them to be feasibly adoptable in open source practice? In order to identify some of these attributes, we conducted a preliminary survey of the quality practices of a number of successful open source projects. We focus, in particular, on attributes related to adoptability by the open source practitioner community.}, keywords = {apache, bug report, bug tracker, bug tracking system, feature requests, gcc, gnome, kde, lines of code, linux, loc, mozilla, netbeans, perl, position paper, python, sloc, source code, Survey, tomcat, xfree86}, attachments = {https://flosshub.org/sites/flosshub.org/files/HalloranScherlis.pdf}, author = {T. Halloran and W. Scherlis} }