scholarly journals Safety critical software ground rules

2018 ◽  
Vol 7 (2.28) ◽  
pp. 344
Author(s):  
Krishna Chaya Addagarrala ◽  
Patrick Kinnicutt

Safety critical software development field is one of the active research areas in many industries like automotive, medical, railways, nuclear and aerospace are placing increased value on safety and reliability. Safety critical software systems are those systems whose failure could result in the death or a serious injury to the people’s life, security is one of the important topics in the field of safety-critical systems and it must be addressed completely in order to operate safety critical software successfully. In this paper we present a study about the set of standards and different ground rules to be followed in critical software development practices in different industries and the challenges in applying these standards. We also discuss the role of static analysis and software integrity levels in these standards, similarities in these standards and the set of activities followed in the development process of these standards. 

2018 ◽  
Author(s):  
Julián A. Velasco ◽  
Jesús N. Pinto-Ledezma

AbstractThe intersection of macroecology and macroevolution is one of the most active research areas today. Macroecological studies are increasingly using phylogenetic diversification metrics to explore the role of evolutionary processes in shaping present-day patterns of biodiversity. Evolutionary explanations of species richness gradients are key for our understanding of how diversity accumulated in a region. For instance, the present-day diversity in a region can be a result of in situ diversification, extinction, or colonization from other regions, or a combination of all of these processes. However, it is unknown whether these metrics capture well these diversification and dispersal processes across geography. Some metrics (e.g., mean root distance -MRD-; lineage diversification-rate -DR-; evolutionary distinctiveness -ED-) seem to provide very similar geographical patterns regardless of how they were calculated (e.g., using branch lengths or not). The lack of appropriate estimates of extinction and dispersal rates in phylogenetic trees can limit our conclusions about how species richness gradients emerged. With a review of the literature and complemented by an empirical comparison, we show that phylogenetic metrics by itself are not capturing well the speciation, extinction and dispersal processes across the geographical gradients. Furthermore, we show how new biogeographic methods can improve our inference of past events and therefore our conclusions about the evolutionary mechanisms driving regional species richness. Finally, we recommend that future studies include several approaches (e.g., spatial diversification modelling, parametric biogeographic methods) to disentangle the relative the role of speciation, extinction and dispersal in the generation and maintenance of species richness gradients.


2017 ◽  
Vol 3 ◽  
pp. e130 ◽  
Author(s):  
Pariya Kashfi ◽  
Agneta Nilsson ◽  
Robert Feldt

User eXperience (UX) is a key factor in the success of software systems. Many software companies face challenges in their work with UX. Existing research does not analyze UX practices and challenges in relation to other software quality characteristics or, in particular, in relation to usability. A better understanding of these challenges can help researchers and practitioners better address them in the future. In this empirical study, we have interviewed 17 practitioners with different backgrounds and occupations from eight software development companies. Their responses are coded, and analyzed with thematic analysis. We report eight themes of challenges that practitioners face in their work with UX. While some of these challenges partly overlap with those reported in existing literature about usability or other software quality characteristics, the participants of our study either view many of the challenges as unique to UX, or more severe in the case of UX. Although at a superficial level challenges of UX and other quality characteristics overlap, we differentiate these challenges at a deeper level through the five main characteristics of UX:subjective,holistic,dynamic,context-dependentandworthwhile. In particular, we identified that these characteristics have at least 20 implications (i.e. additional difficulties) for day-to-day work of practitioners. We found that 11 of these implications have been previously reported in literature. However, to the best of our knowledge, the remaining nine implications are unique to our study. These implications can explain why practitioners perceive the challenges to be more severe than for other quality characteristics. Most importantly, they can explain the industry’s lopsided focus on the pragmatic aspect of UX. Our findings can be useful for researchers in identifying new and industry-relevant research areas and for practitioners to learn from empirically investigated challenges in UX work, and base their improvement efforts on such knowledge. Identifying and investigating the overlaps underlines the importance of these challenges, and can also help finding research areas not only for enhancing UX work but also software quality in general. It also makes it easier for practitioners to spot, better understand as well as find mitigation strategies for UX, through learning from past experiences and developments in the area of software quality.


Author(s):  
Yaguang Yang

System safety is closely related to system reliability. Safety requirements many times are translated to reliability requirements. Nowadays, software systems exist in many engineering systems. However, there is no consensus method for software reliability estimation. On the contrary, there is an increasing interest in estimating the software reliability due to concerns for safety-critical systems. In this article, we try to close the gap by proposing a systematic and probabilistic method to estimate the software reliability based on software test data.


Author(s):  
Kuldar Taveter ◽  
Leon Sterling

Over the past decade, the target environment for software development has complexified dramatically. Software systems must now operate robustly in a dynamic, global, networked environment comprised of distributed diverse technologies, where frequent change is inevitable. There is increasing demand for flexibility and ease of use. Multiagent systems (Wooldridge, 2002) are a potential successor to object-oriented systems, better able to address the new demands on software. In multi-agent systems, heterogeneous autonomous entities (i.e., agents) interact to achieve system goals. In addition to being a technological building block, an agent, also known as an actor, is an important modeling abstraction that can be used at different stages of software engineering. The authors while teaching agent-related subjects and interacting with industry have observed that the agent serves as a powerful anthropomorphic notion readily understood by novices. It is easy to explain to even a nontechnical person that one or more software agents are going to perform a set of tasks on your behalf. We define software engineering as a discipline applied by teams to produce high-quality, large-scale, cost-effective software that satisfies the users’ needs and can be maintained over time. Methods and processes are emerging to place software development on a parallel with other engineering endeavors. Software engineering courses give increasing focus to teaching students how to analyze software designs, emphasizing imbuing software with quality attributes such as performance, correctness, scalability, and security. Agent-oriented software engineering (AOSE) (Ciancarini & Wooldridge, 2001) has become an active research area. Agent-oriented methodologies, such as Tropos (Bresciani, Perini, Giorgini, Giunchiglia, & Mylopoulos, 2004), ROADMAP (Juan & Sterling, 2003), and RAP/AOR (Taveter & Wagner, 2005), use the notion of agent throughout the software lifecycle from analyzing the problem domain to maintaining the functional software system. An agent-oriented approach can be useful even when the resulting system neither consists of nor includes software agents. Some other proposed AOSE methodologies are Gaia (Wooldridge, Jennings, & Kinny, 2000), MESSAGE (Garijo, Gomez-Sanz, & Massonet, 2005), TAO (Silva & Lucena, 2004), and Prometheus (Padgham & Winikoff, 2004). Although none of the AOSE methodologies are yet widely accepted, AOSE is a promising area. The recent book by Henderson-Sellers & Giorgini (2005) contains a good overview of currently available agent-oriented methodologies. AOSE approaches loosely fall into one of two categories. One approach adds agent extensions to an existing objectoriented notation. The prototypical example is Agent UML (Odell, Van Dyke, & Bauer, 2001). The alternate approach builds a custom software methodology around agent concepts such as roles. Gaia (Wooldridge et al., 2000) was the pioneering example. In this article, we address the new paradigm of AOSE for developing both agent-based and traditional software systems.


2020 ◽  
Vol 17 (9) ◽  
pp. 4635-4642
Author(s):  
Mudita ◽  
Deepali Gupta

Software Engineering is the fundamental methodology used in the process of developing the software. Software Development Life Cycle (SDLC) is the backbone of software engineering. SDLC is emerging in several forms to support software development at different phases. SDLC plays as a role of guide for engineers that are involved from traditional desktop application development to much trending development. The new emerging technologies accelerate the process of software engineering, resulting in saving time and resources and enhance the quality of software systems. This paper focuses on technologies used to accelerate the process of software engineering in solving problems associated with its phases. The first section of this paper contains an introduction to Software Engineering (SE) and Artificial Intelligence (AI). The next section describes the aspects of emerging technologies in software engineering. After this, the role of AI in SE is discussed followed by a conclusion in the last section.


1996 ◽  
Vol 11 (3) ◽  
pp. 185-198 ◽  
Author(s):  
Peter Kawalek ◽  
Jenny Leonard

This paper addresses the issues of software development in situations of organizational and process change. There is wide agreement in the literature that organizations have to be increasingly flexible in order to survive in the current economic climate. They must innovate, replicate, adapt and extemporize. As they do so, the requirements they have of their software applications are likely to change. Equally, as new software solutions are provided, new opportunities for business change arise. The situation is made still more complex because even if the needs of organizations were stable, we still could not be certain of the validity of an application's functions. This is because the process of program development is inherently uncertain. From this situation arise difficult, practical challenges for those concerned with the deployment of software in organizations. Starting with a consideration of the nature of organizations themselves, this paper takes looks at these problems by moving between three related points. It looks at software development methodologies and suggests that these have in the past tended to assume that discrete IT solutions can be cast for a ‘steady state’ which the organization is attempting to achieve. From the second vantage point it looks at the role of IT staff in supporting the operational needs of the organization. The third is the nature of software systems themselves.


Sign in / Sign up

Export Citation Format

Share Document