Software engineering for enabling scientific software development

dc.contributorGray, Jeff
dc.contributorSmith, Randy K.
dc.contributorBrown, Marcus E.
dc.contributorBernholdt, David
dc.contributor.advisorCarver, Jeffrey C.
dc.contributor.authorHeaton, Dustin
dc.contributor.otherUniversity of Alabama Tuscaloosa
dc.descriptionElectronic Thesis or Dissertationen_US
dc.description.abstractScientific software is code written by scientists for the purpose of doing research. While the results of this software development have been widely published, there has been relatively little publication of the development of this software. There have been even fewer publications that look at the software engineering aspects of scientific software development and fewer still that have suggested software engineering techniques that will help scientists develop the software that is relied on for much of our modern knowledge. The software engineers who have studied the development processes of scientific software developers agree that scientists would be able to produce better software if they had the knowledge and familiarity to use specific software engineering practices. The primary focus of this dissertation is to provide that knowledge to scientific software developers in order to better enable them to produce quality software as efficiently as possible. In order to achieve this focus, this dissertation has three aspects. First, this dissertation provides a literature review of the claims that have been made in the software engineering and scientific software literature culminating in a list of claims about software engineering practices. Scientific software developers can use this list to find practices they are unaware of that should prove useful to their development. Additionally, software engineers can use the list to help determine what practices need support for the scientists to be able to take advantage of them. Second, this dissertation provides a series of surveys that capture the current state of software engineering knowledge in the scientific software development community. The results of these surveys show that scientific software developers are unfamiliar with many of the practices that could help them address their most challenging issues. Third, this dissertation provides examples that show, with support from software engineers, scientific software developers can take advantage of practices that have proven useful in traditional software engineering and increase the quality of their work without requiring an overwhelming amount of extra work.en_US
dc.format.extent161 p.
dc.publisherUniversity of Alabama Libraries
dc.relation.hasversionborn digital
dc.relation.ispartofThe University of Alabama Electronic Theses and Dissertations
dc.relation.ispartofThe University of Alabama Libraries Digital Collections
dc.rightsAll rights reserved by the author unless otherwise indicated.en_US
dc.subjectComputer science
dc.titleSoftware engineering for enabling scientific software developmenten_US
dc.typetext of Alabama. Department of Computer Science Science University of Alabama
Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
2.56 MB
Adobe Portable Document Format