Next Issue
Volume 2, March
Previous Issue
Volume 1, September
 
 

Software, Volume 1, Issue 4 (December 2022) – 4 articles

Cover Story (view full-size image): Although domain-driven design is recognized as a key technique for identifying microservices, there is still a gap on systematic approaches for creating context maps. BPM2DDD aims to fill this gap with a systematic approach for identification of bounded contexts and their relationships based on the analysis of business processes models. This article reports on the definition and application of BPM2DD using a real business process, which have also been used to perform a comparative application with external analysts. BPM2DDD defines a series of artefacts with a clear set of instructions on how these can be used to collect information from a business process model, which are then used to capture domains, bounded contexts, and their relationships in a context map. 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:
12 pages, 298 KiB  
Article
Analysis of Faults in Software Systems Using Tsallis Distribution: A Unified Approach
by Shachi Sharma
Software 2022, 1(4), 473-484; https://doi.org/10.3390/software1040020 - 11 Nov 2022
Viewed by 1410
Abstract
The identification of the appropriate distribution of faults is important for ensuring the reliability of a software system and its maintenance. It has been observed that different distributions explain faults in different types of software. Faults in large and complex software systems are [...] Read more.
The identification of the appropriate distribution of faults is important for ensuring the reliability of a software system and its maintenance. It has been observed that different distributions explain faults in different types of software. Faults in large and complex software systems are best represented by Pareto distribution, whereas Weibull distribution fits enterprise software well. An analysis of faults in open-source software endorses generalized Pareto distribution. This paper presents a model, called the Tsallis distribution, derived using the maximum-entropy principle, which explains faults in many diverse software systems. The effectiveness of Tsallis distribution is ascertained by carrying out experiments on many real data sets from enterprise and open-source software systems. It is found that Tsallis distribution describes software faults better and more precisely than Weibull and generalized Pareto distributions, in both cases. The applications of the Tsallis distribution in (i) software fault-prediction using the Bayesian inference method, and (ii) the Goal and Okumoto software-reliability model, are discussed. Full article
(This article belongs to the Special Issue Dependable Computing and Security for Software Systems)
23 pages, 1172 KiB  
Article
Security Requirements Prioritization Techniques: A Survey and Classification Framework
by Shada Khanneh and Vaibhav Anu
Software 2022, 1(4), 450-472; https://doi.org/10.3390/software1040019 - 28 Oct 2022
Cited by 2 | Viewed by 4290
Abstract
Security requirements Engineering (SRE) is an activity conducted during the early stage of the SDLC. SRE involves eliciting, analyzing, and documenting security requirements. Thorough SRE can help software engineers incorporate countermeasures against malicious attacks into the software’s source code itself. Even though all [...] Read more.
Security requirements Engineering (SRE) is an activity conducted during the early stage of the SDLC. SRE involves eliciting, analyzing, and documenting security requirements. Thorough SRE can help software engineers incorporate countermeasures against malicious attacks into the software’s source code itself. Even though all security requirements are considered relevant, implementing all security mechanisms that protect against every possible threat is not feasible. Security requirements must compete not only with time and budget, but also with the constraints they inflect on a software’s availability, features, and functionalities. Thus, the process of security requirements prioritization becomes an integral task in the discipline of risk-analysis and trade-off-analysis. A sound prioritization technique provides guidance for software engineers to make educated decisions on which security requirements are of topmost importance. Even though previous research has proposed various security requirement prioritization techniques, none of the existing research efforts have provided a detailed survey and comparative analysis of existing techniques. This paper uses a literature survey approach to first define security requirements engineering. Next, we identify the state-of-the-art techniques that can be adopted to impose a well-established prioritization criterion for security requirements. Our survey identified, summarized, and compared seven (7) security requirements prioritization approaches proposed in the literature. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

33 pages, 1222 KiB  
Article
BPM2DDD: A Systematic Process for Identifying Domains from Business Processes Models
by Carlos Eduardo da Silva, Eduardo Luiz Gomes and Soumya Sankar Basu
Software 2022, 1(4), 417-449; https://doi.org/10.3390/software1040018 - 29 Sep 2022
Viewed by 3327
Abstract
Domain-driven design is one of the most used approaches for identifying microservice architectures, which should be built around business capabilities. There are a number of documentation with principles and patterns for its application. However, despite its increasing use there is still a lack [...] Read more.
Domain-driven design is one of the most used approaches for identifying microservice architectures, which should be built around business capabilities. There are a number of documentation with principles and patterns for its application. However, despite its increasing use there is still a lack of systematic approaches for creating the context maps that will be used to design the microservices. This article presents BPM2DDD, a systematic approach for identification of bounded contexts and their relationships based on the analysis of business processes models, which provide a business view of an organisation. We present an example of its application in a real business process, which has also be used to perform a comparative application with external analysts. The technique has been applied to a real project in the department of transport of a Brazilian state capital, and has been incorporated into the software development process employed by them to develop their new system. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

36 pages, 487 KiB  
Article
Empirical Formal Methods: Guidelines for Performing Empirical Studies on Formal Methods
by Maurice H. ter Beek and Alessio Ferrari
Software 2022, 1(4), 381-416; https://doi.org/10.3390/software1040017 - 24 Sep 2022
Cited by 3 | Viewed by 2502
Abstract
Empirical studies on formal methods and tools are rare. In this paper, we provide guidelines for such studies. We mention their main ingredients and then define nine different study strategies (usability testing, laboratory experiments with software and human subjects, case studies, qualitative studies, [...] Read more.
Empirical studies on formal methods and tools are rare. In this paper, we provide guidelines for such studies. We mention their main ingredients and then define nine different study strategies (usability testing, laboratory experiments with software and human subjects, case studies, qualitative studies, surveys, judgement studies, systematic literature reviews, and systematic mapping studies) and discuss for each of them their crucial characteristics, the difficulties of applying them to formal methods and tools, typical threats to validity, their maturity in formal methods, pointers to external guidelines, and pointers to studies in other fields. We conclude with a number of challenges for empirical formal methods. Full article
Show Figures

Figure 1

Previous Issue
Next Issue
Back to TopTop