• Corpus ID: 239616452

Methodology for Assessing the State of the Practice for Domain X

  title={Methodology for Assessing the State of the Practice for Domain X},
  author={W. Spencer Smith and Jacques Carette and Peter Michalski and Ao Dong and Oluwasanjo Biodun Owojaiye},
To improve software development methods and tools for research software, we first need to understand the current state of the practice. Therefore, we have developed a methodology for assessing the state of the software development practices for a given research software domain. The methodology is applied to one domain at a time in recognition that software development in different domains is likely to have adopted different best practices. Moreover, providing a means to measure different… 

Figures and Tables from this paper


Talk to Me: A Case Study on Coordinating Expertise in Large-Scale Scientific Software Projects
A case study of developers of the Trilinos project surveys the software development challenges addressed and shows how those problems are connected with what they know and how they communicate, and outlines a path forward for future research.
Defining families - Commonality analysis
  • M. Ardis, D. Cuka
  • Computer Science
    Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)
  • 1999
This half-day tutorial describes the commonality analysis process, a systematic approach to analyzing families and the result of the analysis forms the basis for designing reusable assets that can be used to rapidly produce family members.
Quality and sustainability of software tools in neuroscience
Way in which the current practice of software development in computational neuroscience can be improved is suggested along with checklists for developers, reviewers, and scientists to help assess the quality and research readiness of a particular piece of software.
Commonality Analysis: A Systematic Process for Defining Families
  • D. Weiss
  • Computer Science
    ESPRIT ARES Workshop
  • 1998
Commonality analysis is an analytical technique for deciding what the members of a family should be and is in use at Lucent Technologies as part of a domain engineering process known as family-oriented abstraction, specification, and translation (FAST).
State of the Practice for GIS Software
A reproducible method to analyze the state of software development practices in a given scientific domain is presented and applied to Geographic Information Systems, revealing concerns regarding the correctness, maintainability, transparency and reproducibility of some GIS software.
Statistical Software for Psychology: Comparing Development Practices Between CRAN and Other Communities
The state of the practice in the area of statistical software for psychology to understand how it compares to best practices is measured, and it is found that R packages use quite good practices, and that while commercial packages were quite usable, many aspects of their development is too opaque to be measures.
State of the practice for mesh generation and mesh processing software
The state of software development practices for mesh generation and mesh processing software is assessed and concerns regarding the maintainability, usability, reusability and performance are revealed.
Software Engineering for Computational Science: Past, Present, Future
A literature survey on software engineering practices in computational science identified 13 recurring key characteristics of scientific software development that are the result of the nature of scientific challenges, the limitations of computers, and the cultural environment of scientificSoftware development.
A rational design process: How and why to fake it
It is proposed that, although designing a real product in that way will not be successful, it is possible to produce documentation that makes it appear that the software was designed by such a process.
Seismology software: state of the practice
Recommendations are provided for a document-driven development process that includes a problem statement, development plan, requirement specification, verification and validation (V&V) plan, design specification, code, V&V report, and a user manual.