scholarly journals Improving bioinformatics software quality through incorporation of software engineering practices

2022 ◽  
Vol 8 ◽  
pp. e839
Author(s):  
Adeeb Noor

Background Bioinformatics software is developed for collecting, analyzing, integrating, and interpreting life science datasets that are often enormous. Bioinformatics engineers often lack the software engineering skills necessary for developing robust, maintainable, reusable software. This study presents review and discussion of the findings and efforts made to improve the quality of bioinformatics software. Methodology A systematic review was conducted of related literature that identifies core software engineering concepts for improving bioinformatics software development: requirements gathering, documentation, testing, and integration. The findings are presented with the aim of illuminating trends within the research that could lead to viable solutions to the struggles faced by bioinformatics engineers when developing scientific software. Results The findings suggest that bioinformatics engineers could significantly benefit from the incorporation of software engineering principles into their development efforts. This leads to suggestion of both cultural changes within bioinformatics research communities as well as adoption of software engineering disciplines into the formal education of bioinformatics engineers. Open management of scientific bioinformatics development projects can result in improved software quality through collaboration amongst both bioinformatics engineers and software engineers. Conclusions While strides have been made both in identification and solution of issues of particular import to bioinformatics software development, there is still room for improvement in terms of shifts in both the formal education of bioinformatics engineers as well as the culture and approaches of managing scientific bioinformatics research and development efforts.

2021 ◽  
Vol 172 ◽  
pp. 110848
Author(s):  
Elvira-Maria Arvanitou ◽  
Apostolos Ampatzoglou ◽  
Alexander Chatzigeorgiou ◽  
Jeffrey C. Carver

F1000Research ◽  
2019 ◽  
Vol 8 ◽  
pp. 261 ◽  
Author(s):  
Joseph L. Hellerstein ◽  
Stanley Gu ◽  
Kiri Choi ◽  
Herbert M. Sauro

Biomedical simulations are widely used to understand disease, engineer cells, and model cellular processes. In this article, we explore how to improve the quality of biomedical simulations by developing simulation models using tools and practices employed in software engineering. We refer to this direction as model engineering. Not all techniques used by software engineers are directly applicable to model engineering, and so some adaptations are required. That said, we believe that simulation models can benefit from software engineering practices for requirements, design, and construction as well as from software engineering tools for version control, error checking, and testing. Here we survey current efforts to improve simulation quality and discuss promising research directions for model engineering.


2011 ◽  
Vol 23 (4) ◽  
pp. 64-79 ◽  
Author(s):  
Diane Kelly

The development of scientific software is usually carried out by a scientist who has little professional training as a software developer. Concerns exist that such development produces low-quality products, leading to low-quality science. These concerns have led to recommendations and the imposition of software engineering development processes and standards on the scientists. This paper utilizes different frameworks to investigate and map characteristics of the scientific software development environment to the assumptions made in plan-driven software development methods and agile software development methods. This mapping exposes a mismatch between the needs and goals of scientific software development and the assumptions and goals of well-known software engineering development processes.


Author(s):  
Jorge Melegati ◽  
Rafael Chanin ◽  
Afonso Sales ◽  
Rafael Prikladnicki

Abstract In this position paper, our goal is to argue the need for specific software development practices to early-stage startups. In order to reach this goal, we discuss the consequences of innovative and market-driven contexts, which are two of the key elements when describing software startups. We also argue that these practices could be applied to innovative initiatives within established companies since they share similar characteristics and challenges as those from startups.


Author(s):  
Mirna Muñoz

Software has become the core of organizations in different domains because the capacity of their products, systems, and services have an increasing dependence on software. This fact highlights the research challenges to be covered by computer science, especially in the software engineering (SE) area. On the one way, SE is in charge of covering all the aspects related to the software development process from the early stages of software development until its maintenance and therefore is closely related to the software quality. On the other hand, SE is in charge of providing engineers able to provide technological-base solutions to solve industrial problems. This chapter provides a research work path focused on helping software development organizations to change to a continuous software improvement culture impacting both their software development process highlighting the human factor training needs. Results show that the implementation of best practices could be easily implemented if adequate support is provided.


2000 ◽  
Vol 8 (4) ◽  
pp. 211-230 ◽  
Author(s):  
Philip W. Grant ◽  
Magne Haveraaen ◽  
Michael F. Webster

It has long been acknowledged that the development of scientific applications is in need of better software engineering practices. Here we contrast the difference between conventional software development of CFD codes with a method based on coordinate free mathematics. The former approach leads to programs where different aspects, such as the discretisation technique and the coordinate systems, can get entangled with the solver algorithm. The latter approach yields programs that segregate these concerns into fully independent software modules. Such considerations are important for the construction of numerical codes for practical problems. The two approaches are illustrated on the coating problem: the simulation of coating a wire with a polymer.


2009 ◽  
pp. 2795-2802
Author(s):  
Pankaj Kamthan

As software becomes pervasive in our daily lives, its values from a purely human perspective are brought to light. Ethical conduct is one such human value. There are various reasons for discussing the issue of ethics within a software engineering context. By participating in a software development process, software engineers can influence the final product, namely the software itself, in different ways including those that may be contrary to public interest. In other words, they could engage in an unethical behavior, inadvertently or deliberately. This could lead to personal harm, and potentially result in loss of confidence in software and loss of trust in organizations that own them. This can adversely affect the acceptance of software as a useful product, question the credibility of software engineering as a profession, lead to legal implications, and impact the bottom line of the software industry at-large. This article is organized as follows. We first outline the background necessary for later discussion. This is followed by a proposal for a quality-based framework for addressing ethics, and software quality treatment of a software engineering code of ethics. Next, avenues and directions for future research are outlined, and finally, concluding remarks are given.


2014 ◽  
Vol 926-930 ◽  
pp. 2642-2645
Author(s):  
Wen Hong Liu ◽  
Chun Yan Wang ◽  
Li Ge

As the rapid development of social informatization, software reliability and security are highly required. Only applying high-quality software products can increase work efficiency. Quality is the life of software. How to enhance the quality of software products and how to use effective quality management method is an urgent need. This paper discuss the key point of software engineering and software quality management, and this is the basis of software quality ensurance model.


2009 ◽  
pp. 2700-2713
Author(s):  
Orit Hazzan ◽  
Yael Dubinsky

This chapter presents a teaching framework for agile quality—that is, the way quality issues are perceived in agile software development environments. The teaching framework consists of nine principles, the actual implementation of which is varied and should be adjusted for different specific teaching environments. This chapter outlines the principles and addresses their contribution to learners’ understanding of agile quality. In addition, we highlight some of the differences between agile software development and plan-driven software development in general, and with respect to software quality in particular. This chapter provides a framework to be used by software engineering instructors who wish to base students learning on students’ experiences of the different aspects involved in software development environments.


Sign in / Sign up

Export Citation Format

Share Document