Next Issue
Volume 1, December
Previous Issue
Volume 1, June
 
 

Software, Volume 1, Issue 3 (September 2022) – 7 articles

Cover Story (view full-size image): To understand the performance of methods developed for the reconstruction of evolutionary histories of genes and species, it is indispensable to test such methods on reliable benchmark sets. Since the true histories are in almost all cases unknown, simulated data must be used. AsymmeTree is a flexible and easy-to-use Python package for the simulation of gene family and species histories as well as underlying genes. Those histories can be simulated to include common evolutionary mechanisms such as gene duplication, loss, conversion, and horizontal transfer. Different models can be used to generate realistic scenarios. AsymmeTree is freely available and allows the user to interact with, analyse, and possibly manipulate the simulated scenarios. View this paper
  • Issues are regarded as officially published after their release is announced to the table of contents alert mailing list.
  • You may sign up for e-mail alerts to receive table of contents of newly released issues.
  • PDF is the official format for papers published in both, html and pdf forms. To view the papers in pdf format, click on the "PDF Full-text" link, and use the free Adobe Reader to open them.
Order results
Result details
Select all
Export citation of selected articles as:
17 pages, 2342 KiB  
Article
A Metric for Questions and Discussions Identifying Concerns in Software Reviews
by Michiyo Wakimoto and Shuji Morisaki
Software 2022, 1(3), 364-380; https://doi.org/10.3390/software1030016 - 05 Sep 2022
Cited by 1 | Viewed by 1722
Abstract
Previous studies reported that reviewers ask questions and engage in discussions during software reviews and that the concerns identified by the questions and discussions help detect defects. Although such concerns about potential defects lead to finding defects, review metrics such as the number [...] Read more.
Previous studies reported that reviewers ask questions and engage in discussions during software reviews and that the concerns identified by the questions and discussions help detect defects. Although such concerns about potential defects lead to finding defects, review metrics such as the number of defects detected do not always reflect the questions and discussions because concerns which are not applicable to the review material are excluded from the number of defects. This paper proposes a metric, the number of questions and discussions, which identifies concerns in reviews. First, we defined an effective question, which identifies concerns. Then, we defined detailed review processes (identifying, sharing, and recording processes), which capture how concerns identified by effective questions are shared and defects are documented. We conducted a case study with 25 projects in industry to investigate the impact of the number of effective questions, which identified concerns on the number of detected defects in subsequent testing. The results of a multiple regression analysis show that the number of effective questions predicts the number of defects in subsequent testing at the significance level of 0.05. Full article
Show Figures

Figure 1

48 pages, 9747 KiB  
Article
Evolution towards Hybrid Software Development Methods and Information Systems Audit Challenges
by Ioannis K. Kirpitsas and Theodore P. Pachidis
Software 2022, 1(3), 316-363; https://doi.org/10.3390/software1030015 - 24 Aug 2022
Cited by 9 | Viewed by 6130
Abstract
The key objective of this paper is to investigate the evolution of hybrid software development methods and highlight the main difficulties that arise with regard to information systems (IS) auditing. While technology firms today are under constant pressure to deliver software faster due [...] Read more.
The key objective of this paper is to investigate the evolution of hybrid software development methods and highlight the main difficulties that arise with regard to information systems (IS) auditing. While technology firms today are under constant pressure to deliver software faster due to emerging needs worldwide, this continuous effort leads to innovative development models, apparently driven by practice. Since modern software development is neither pure linear phases progression nor agile, a challenge arises with regards to selecting the appropriate combination of approaches that serve to reach goals and assure value creation for organizations. Full article
Show Figures

Figure 1

17 pages, 6665 KiB  
Article
An Automated Tool for Upgrading Fortran Codes
by Lesley Mak and Pooya Taheri
Software 2022, 1(3), 299-315; https://doi.org/10.3390/software1030014 - 13 Aug 2022
Cited by 2 | Viewed by 4868
Abstract
With archaic coding techniques, there will be a time when it will be necessary to modernize vulnerable software. However, redeveloping out-of-date code can be a time-consuming task when dealing with a multitude of files. To reduce the amount of reassembly for Fortran-based projects, [...] Read more.
With archaic coding techniques, there will be a time when it will be necessary to modernize vulnerable software. However, redeveloping out-of-date code can be a time-consuming task when dealing with a multitude of files. To reduce the amount of reassembly for Fortran-based projects, in this paper, we develop a prototype for automating the manual labor of refactoring individual files. ForDADT (Fortran Dynamic Autonomous Diagnostic Tool) project is a Python program designed to reduce the amount of refactoring necessary when compiling Fortran files. In this paper, we demonstrate how ForDADT is used to automate the process of upgrading Fortran codes, process the files, and automate the cleaning of compilation errors. The developed tool automatically updates thousands of files and builds the software to find and fix the errors using pattern matching and data masking algorithms. These modifications address the concerns of code readability, type safety, portability, and adherence to modern programming practices. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

23 pages, 1711 KiB  
Article
AsymmeTree: A Flexible Python Package for the Simulation of Complex Gene Family Histories
by David Schaller, Marc Hellmuth and Peter F. Stadler
Software 2022, 1(3), 276-298; https://doi.org/10.3390/software1030013 - 07 Aug 2022
Cited by 2 | Viewed by 2015
Abstract
AsymmeTree is a flexible and easy-to-use Python package for the simulation of gene family histories. It simulates species trees and considers the joint action of gene duplication, loss, conversion, and horizontal transfer to evolve gene families along the species tree. To generate realistic [...] Read more.
AsymmeTree is a flexible and easy-to-use Python package for the simulation of gene family histories. It simulates species trees and considers the joint action of gene duplication, loss, conversion, and horizontal transfer to evolve gene families along the species tree. To generate realistic scenarios, evolution rate heterogeneity from various sources is modeled. Finally, nucleotide or amino acid sequences (optionally with indels, among-site rate heterogeneity, and invariant sites) can be simulated along the gene phylogenies. For all steps, users can choose from a spectrum of alternative methods and parameters. These choices include most options that are commonly used in comparable tools but also some that are usually not found, such as the innovation model for species evolution. While output files for each individual step can be generated, AsymmeTree is primarily intended to be integrated in complex Python pipelines designed to assess the performance of data analysis methods. It allows the user to interact with, analyze, and possibly manipulate the simulated scenarios. AsymmeTree is freely available on GitHub. Full article
Show Figures

Figure 1

11 pages, 466 KiB  
Article
The Impact of Agile Development Practices on Project Outcomes
by Dipendra Ghimire and Stuart Charters
Software 2022, 1(3), 265-275; https://doi.org/10.3390/software1030012 - 05 Aug 2022
Cited by 5 | Viewed by 7400
Abstract
Agile software development methods were introduced to minimize problems faced using traditional software development approaches. There are several Agile approaches used in developing software projects, these include Scrum, Extreme programming and Kanban. An Agile approach focuses on collaboration between customers and developers and [...] Read more.
Agile software development methods were introduced to minimize problems faced using traditional software development approaches. There are several Agile approaches used in developing software projects, these include Scrum, Extreme programming and Kanban. An Agile approach focuses on collaboration between customers and developers and encourages development teams to be self-organizing. To achieve this there are different Agile practices teams choose to use in their projects. Some teams only use one practice whilst others use a combination of practices. The most common practices used are stand-ups, user stories, Burndown chart/Burnup chart, pair programming, Epic and User stories. This paper reports on the analysis of the data collected from people involved in Agile software development teams and identifies that the combination of practices in Agile software development have an impact on the communication in the team, project requirements and project priorities, with more practices being adopted correlating with better project outcomes. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

21 pages, 4277 KiB  
Article
Selecting Non-Line of Sight Critical Scenarios for Connected Autonomous Vehicle Testing
by Tanvir Allidina, Lipika Deka, Daniel Paluszczyszyn and David Elizondo
Software 2022, 1(3), 244-264; https://doi.org/10.3390/software1030011 - 13 Jul 2022
Cited by 1 | Viewed by 2109
Abstract
The on-board sensors of connected autonomous vehicles (CAVs) are limited by their range and inability to see around corners or blind spots, otherwise known as non-line of sight scenarios (NLOS). These scenarios have the potential to be fatal (critical scenarios) as the sensors [...] Read more.
The on-board sensors of connected autonomous vehicles (CAVs) are limited by their range and inability to see around corners or blind spots, otherwise known as non-line of sight scenarios (NLOS). These scenarios have the potential to be fatal (critical scenarios) as the sensors may detect an obstacle much later than the amount of time needed for the car to react. In such cases, mechanisms such as vehicular communication are required to extend the visibility range of the CAV. Despite there being a substantial body of work on the development of navigational and communication algorithms for such scenarios, there is no standard method for generating and selecting critical NLOS scenarios for testing these algorithms in a scenario-based simulation environment. This paper puts forward a novel method utilising a genetic algorithm for the selection of critical NLOS scenarios from the set of all possible NLOS scenarios in a particular road environment. The need to select critical scenarios is pertinent as the number of all possible driving scenarios generated is large and testing them against each other is time consuming, unnecessary and expensive. The selected critical scenarios are then validated for criticality by using a series of MATLAB based simulations. Full article
Show Figures

Figure 1

21 pages, 1673 KiB  
Article
User Story Quality in Practice: A Case Study
by Mohammad Amin Kuhail and Soren Lauesen
Software 2022, 1(3), 223-243; https://doi.org/10.3390/software1030010 - 28 Jun 2022
Cited by 1 | Viewed by 3062
Abstract
(1) Background: User stories are widely used in Agile development as requirements. However, few studies have assessed the quality of user stories in practice. (2) Methods: What is the quality of user stories in practice? To answer the research question, we conducted a [...] Read more.
(1) Background: User stories are widely used in Agile development as requirements. However, few studies have assessed the quality of user stories in practice. (2) Methods: What is the quality of user stories in practice? To answer the research question, we conducted a case study. We used an analysis report from a real-life project where an organization wanted to improve its existing hotline system or acquire a new one. We invited IT practitioners to write requirements for the new system based on the analysis report, user stories, and whatever else they considered necessary. The practitioners could ask the authors questions as they would ask a customer in a real setting. We evaluated the practitioners’ replies using these IEEE 830 quality criteria: completeness, correctness, verifiability, and traceability. (3) Results: The replies covered only 33% of the needs and wishes in the analysis report. Further, the replies largely missed other requirements needed in most projects, such as learnability and maintainability. Incorrect or restrictive solutions were often proposed by the practitioners. Most replies included user stories that were hard to verify, or would have caused a cumbersome user interface if implemented independently. (4) Conclusion: In this project, relying on the user stories would have been a disaster. Although the user stories could have been improved, they wouldn’t cover the necessary requirements in the project. Full article
Show Figures

Figure 1

Previous Issue
Next Issue
Back to TopTop