Title :
Mining Software Contracts for Software Evolution
Author :
Yan Yan ; Menarini, M. ; Griswold, W.
Author_Institution :
Dept. of Comput. Sci. & Eng., Univ. of California, San Diego, La Jolla, CA, USA
fDate :
Sept. 29 2014-Oct. 3 2014
Abstract :
Maintenance and evolution are important parts for all successful software projects. In recent years, version control systems have played a key role in software development process. Not only do they provide a means to coordinate programmers, organize and manage source code, but they also persist the evolution history of the source code into their software repositories. Mining software repositories has provided many insights on the evolution of software, both for researchers and practitioners. In this paper we propose that versioned software contracts -- mined from software repositories -- can be a powerful tool for better understanding and supporting software evolution. Tooling support is critical, due to the complexities of configuring, compiling, and running the software to produce meaningful inferred contracts. This paper contributes both techniques and tool support for downloading, building, and analyzing open source software from social coding sites like GitHub. The tool automatically produces a description of software evolution represented by versions of program invariants.
Keywords :
contracts; data mining; program compilers; software maintenance; source code (software); GitHub; open source software; social coding sites; software contract mining; software development process; software evolution; software projects; software repositories; source code management; source code organisation; source code programmers; Abstracts; Conferences; Contracts; Software engineering; Software maintenance; Software testing; contracts; program analysis; software evolution; software testing; version control;
Conference_Titel :
Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on
Conference_Location :
Victoria, BC
DOI :
10.1109/ICSME.2014.76