The effectiveness of test-driven development and refactoring techniques in computational science and engineering software development

Loading...
Thumbnail Image
Date
2014
Journal Title
Journal ISSN
Volume Title
Publisher
University of Alabama Libraries
Abstract

Many computational science and engineering (CSE) software developers have applied software engineering practices to their work in recent years. CSE software development has unique characteristics that differ from those of traditional software development. Some existing software engineering practices may not be suitable for CSE software development. Agile methods are gaining more interest in both industry and research fields, including the CSE application domain. Agile methods focus on an incremental and iterative development process in which the requirements, specifications, design, implementation, and testing evolve throughout the project lifecycle. Test-driven development (TDD) and refactoring practices are critical for the success of Agile methods. Although many CSE projects employ Agile practices, the effect of TDD on CSE software development remains unknown and should thus be investigated. The empirical study is the primary research method by which the choice of a given software development technique should be justified. The empirical evidence obtained from software engineering research can be used by practitioners who are working to improve software development. The overall goal of this work is to provide the empirical evidence of the effects of TDD on CSE software development. Thus, I will perform a series of case studies and other empirical studies. I also propose a reverse engineering tool to assist developers in performing refactoring activities during project development. The details and results of these studies will be described in this dissertation.

Description
Electronic Thesis or Dissertation
Keywords
Computer science
Citation