Methodology for Assessing the State of the Practice for Domain X

10/22/2021
by   Spencer Smith, et al.
0

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. For each domain we wish to answer questions such as: i) What artifacts (documents, code, test cases, etc.) are present? ii) What tools are used? iii) What principles, process and methodologies are used? iv) What are the pain points for developers? v) What actions are used to improve qualities like maintainability and reproducibility? To answer these questions, our methodology prescribes the following steps: i) Identify the domain; ii) Identify a list of candidate software packages; iii) Filter the list to a length of about 30 packages; iv) Gather source code and documentation for each package; v) Collect repository related data on each software package, like number of stars, number of open issues, number of lines of code; vi) Fill in the measurement template (the template consists of 108 questions to assess 9 qualities (including the qualities of installability, usability and visibility)); vii) Interview developers (the interview consists of 20 questions and takes about an hour); viii) Rank the software using the Analytic Hierarchy Process (AHP); and, ix) Analyze the data to answer the questions posed above. A domain expert should be engaged throughout the process, to ensure that implicit information about the domain is properly represented and to assist with conducting an analysis of the commonalities and variabilities between the 30 selected packages. Using our methodology, spreadsheet templates and AHP tool, we estimate (based on our experience with using the process) the time to complete an assessment for a given domain at 173 person hours.

READ FULL TEXT

page 18

page 20

research
01/23/2021

Präzi: From Package-based to Call-based Dependency Networks

Software reuse has emerged as one of the most crucial elements of modern...
research
02/09/2018

State of the Practice for GIS Software

We present a reproducible method to analyze the state of software develo...
research
07/12/2023

Rethinking Answer Set Programming Templates

In imperative programming, the Domain-Driven Design methodology helps in...
research
05/16/2019

MSRBot: Using Bots to Answer Questions from Software Repositories

Software repositories contain a plethora of useful information that can ...
research
01/29/2023

What Challenges Do Developers Face About Checked-in Secrets in Software Artifacts?

Throughout 2021, GitGuardian's monitoring of public GitHub repositories ...
research
07/27/2021

Template-based Chatbot for Agriculture Related FAQs

Agriculture is the fundamental industry of the society, which is the bas...
research
01/20/2022

npm-filter: Automating the mining of dynamic information from npm packages

The static properties of code repositories, e.g., lines of code, depende...

Please sign up or login with your details

Forgot password? Click here to reset