Topic Editors

Prof. Dr. Sanjay Misra
Department of Computer Science and Communication, Østfold University College, 1757 Halden, Norway
Faculty of Applied Mathematics, Silesian University of Technology, 44-100 Gliwice, Poland
Prof. Dr. Bharti Suri
University School of Information and Communication Technology, GGS Indraprastha University, Delhi 110078, India

Software Engineering and Applications

Abstract submission deadline
31 July 2023
Manuscript submission deadline
31 October 2023
Viewed by
22368

Topic Information

Dear Colleagues,

This Topic on software engineering and applications (SEA) aims to provide a forum for scientists/researchers/engineers/practitioners and academicians to share their ideas, experiences, and research in various aspects and applications of software engineering. SEA covers all the frontier issues and trends in modern software development processes. It includes process models, development processes for different software platforms (e.g., social networks, clouds), a process for adaptive, dependable, embedded systems, agile development, software engineering practices, requirements, systems, and design engineering including architectural design, component-level design, formal methods, software modeling, testing strategies, tactics, process and product metrics, web engineering, project management, risk management, and configuration management. This Topic will also consider papers on the development process of software/software systems (including AI-based systems) in various application areas, e.g., agriculture, aviation industry, business, cybercrime, education, government, and the military.

The following topics are welcome:

  • Software development fundamentals;
  • Software process models;
  • Software standardization and certification;
  • Advanced topics in software engineering.
  • Agile, DevOps models, practices, challenges;
  • Software requirement engineering;
  • Software process assessment (SPA) and software process improvement (SPI);
  • Software maintenance and testing;
  • Software quality management;
  • Artifacts, software verification and validation;
  • Software project management;

Software engineering practices and applications

  • Knowledge-based systems and formal methods;
  • Algorithms and programming languages;
  • Search engines and information retrieval;
  • AI for software systems;
  • Multimedia and visual software engineering;
  • Formal methods;
  • Web engineering and its applications;
  • Web-based systems in various applications areas;
  • Knowledge-based systems;
  • Software gaming;
  • Software modeling and simulation;
  • Various applications software in cloud computing, green computing, cyber security, IoT, big data, distributed systems, supercomputing, quantum computing;
  • Software, algorithms, and software systems in agriculture, aviation industry, business, management, education, health, government, military, etc.

Prof. Dr. Sanjay Misra
Prof. Dr. Robertas Damaševičius
Prof. Dr. Bharti Suri
Topic Editors

Keywords

  • software
  • software engineering (SE)
  • advanced SE applications
  • web engineering
  • artificial intelligence and SE

Participating Journals

Journal Name Impact Factor CiteScore Launched Year First Decision (median) APC
Applied Sciences
applsci
2.838 3.7 2011 14.9 Days 2300 CHF Submit
Electronics
electronics
2.690 3.7 2012 14.4 Days 2000 CHF Submit
Informatics
informatics
- 4.8 2014 24.3 Days 1600 CHF Submit
Information
information
- 4.2 2010 21.8 Days 1600 CHF Submit
Software
software
- - 2022 15.0 days * 1000 CHF Submit

* Median value for all MDPI journals in the second half of 2022.


Preprints is a platform dedicated to making early versions of research outputs permanently available and citable. MDPI journals allow posting on preprint servers such as Preprints.org prior to publication. For more details about reprints, please visit https://www.preprints.org.

Published Papers (24 papers)

Order results
Result details
Journals
Select all
Export citation of selected articles as:
Systematic Review
Transpilers: A Systematic Mapping Review of Their Usage in Research and Industry
Appl. Sci. 2023, 13(6), 3667; https://doi.org/10.3390/app13063667 - 13 Mar 2023
Viewed by 385
Abstract
Transpilers refer to a special type of compilation that takes source code and translates it into target source code. This type of technique has been used for different types of implementations in scientific studies. A review of the research areas related to the [...] Read more.
Transpilers refer to a special type of compilation that takes source code and translates it into target source code. This type of technique has been used for different types of implementations in scientific studies. A review of the research areas related to the use of transpilers allows the understanding of the direction in this branch of knowledge. The objective was to carry out an exhaustive and extended mapping of the usage and implementation of transpilers in research studies in the last 10 years. A systematic mapping review was carried out for answering the 5 research questions proposed. The PSALSAR method is used as a guide to the steps needed for the review. In total, from 1181 articles collected, 683 primary studies were selected, reviewed, and analyzed. Proposals from the industry were also analyzed. A new method for automatic data tabulation has been proposed for the mapping objective, using a relational database and SQL language. It was identified that the most common uses of transpilers are related to performance optimizations, parallel programming, embedded systems, compilers, testing, AI, graphics, and software development. In conclusion, it was possible to determine the extent and identification of research sub-areas and their impact on the usage of the transpilers. Future research could be considered about the usage of transpilers in transactional software, migration strategies for legacy systems, AI, math, multiplatform games and apps, automatic source code generation, and networking. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Approach to Formalizing Software Projects for Solving Design Automation and Project Management Tasks
Software 2023, 2(1), 133-162; https://doi.org/10.3390/software2010006 - 08 Mar 2023
Viewed by 279
Abstract
GitHub and GitLab contain many project repositories. Each repository contains many design artifacts and specific project management features. Developers can automate the processes of design and project management with the approach proposed in this paper. We described the knowledge base model and diagnostic [...] Read more.
GitHub and GitLab contain many project repositories. Each repository contains many design artifacts and specific project management features. Developers can automate the processes of design and project management with the approach proposed in this paper. We described the knowledge base model and diagnostic analytics method for the solving of design automation and project management tasks. This paper also presents examples of use cases for applying the proposed approach. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Development of Evaluation Criteria for Robotic Process Automation (RPA) Solution Selection
Electronics 2023, 12(4), 986; https://doi.org/10.3390/electronics12040986 - 16 Feb 2023
Viewed by 483
Abstract
When introducing a robotic process automation (RPA) solution for business automation, selecting an RPA solution that is suitable for the automation target and goals is extremely difficult for customers. One reason for this difficulty is that standardised evaluation items and indicators that can [...] Read more.
When introducing a robotic process automation (RPA) solution for business automation, selecting an RPA solution that is suitable for the automation target and goals is extremely difficult for customers. One reason for this difficulty is that standardised evaluation items and indicators that can support the evaluation of RPA have not been defined. The broad extension of RPA is still in its infancy and only a few studies have been conducted on this subject. In this study, an evaluation breakdown structure for RPA selection was developed by deriving evaluation items from prior studies related to RPA selection and a feasibility study was conducted. Consequently, a questionnaire was administered three times, and the coefficients of variation, content validity, consensus, and convergence of factors and criteria were measured from the survey results. All of these measurement results are reflected in the final suitability value that was calculated to verify the stability of the evaluation system and evaluation criteria indicators. This study is the first to develop an RPA solution selection evaluation standard and the proposed evaluation breakdown structure provides useful evaluation criteria and a checklist for successful RPA application and introduction. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Timed-SAS: Modeling and Analyzing the Time Behaviors of Self-Adaptive Software under Uncertainty
Appl. Sci. 2023, 13(3), 2018; https://doi.org/10.3390/app13032018 - 03 Feb 2023
Viewed by 505
Abstract
Self-adaptive software (SAS) is gaining in popularity as it can handle dynamic changes in the operational context or in itself. Time behaviors are of vital importance for SAS systems, as the self-adaptation loops bring in additional overhead time. However, early modeling and quantitative [...] Read more.
Self-adaptive software (SAS) is gaining in popularity as it can handle dynamic changes in the operational context or in itself. Time behaviors are of vital importance for SAS systems, as the self-adaptation loops bring in additional overhead time. However, early modeling and quantitative analysis of time behaviors for the SAS systems is challenging, especially under uncertainty environments. To tackle this problem, this paper proposed an approach called Timed-SAS to define, describe, analyze, and optimize the time behaviors within the SAS systems. Concretely, Timed-SAS: (1) provides a systematic definition on the deterministic time constraints, the uncertainty delay time constraints, and the time-based evaluation metrics for the SAS systems; (2) creates a set of formal modeling templates for the self-adaptation processes, the time behaviors and the uncertainty environment to consolidate design knowledge for reuse; and (3) provides a set of statistical model checking-based quantitative analysis templates to analyze and verify the self-adaptation properties and the time properties under uncertainty. To validate its effectiveness, we presented an example application and a subject-based experiment. The results demonstrated that the Timed-SAS approach can effectively reduce modeling and verification difficulties of the time behaviors, and can help to optimize the self-adaptation logic. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Roadmap to Reasoning in Microservice Systems: A Rapid Review
Appl. Sci. 2023, 13(3), 1838; https://doi.org/10.3390/app13031838 - 31 Jan 2023
Viewed by 635
Abstract
Understanding software systems written by others is often challenging. When we want to assess systems to reason about them, i.e., to understand dependencies, analyze evolution trade-offs, or to verify conformance to the original blueprint, we must invest broad efforts. This becomes difficult when [...] Read more.
Understanding software systems written by others is often challenging. When we want to assess systems to reason about them, i.e., to understand dependencies, analyze evolution trade-offs, or to verify conformance to the original blueprint, we must invest broad efforts. This becomes difficult when considering decentralized systems. Microservice-based systems are mainstream these days; however, to observe, understand, and manage these systems and their properties, we are missing fundamental tools that would derive various simplified system abstract perspectives. Microservices architecture characteristics yield many advantages to system operation; however, they bring challenges to their development and deployment lifecycles. Microservices urge a system-centric perspective to better reason about the system evolution and its quality attributes. This process review paper considers the current system analysis approaches and their possible alignment with automated system assessment or with human-centered approaches. We outline the necessary steps to accomplish holistic reasoning in decentralized microservice systems. As a contribution, we provide a roadmap for analysis and reasoning in microservice-based systems and suggest that various process phases can be decoupled through the introduction of system intermediate representation as the trajectory to provide various system-centered perspectives to analyze various system aspects. Furthermore, we cover different technical-based reasoning strategies and metrics in addition to the human-centered reasoning addressed through alternative visualization approaches. Finally, a system evolution is discussed from the perspective of such a reasoning process to illustrate the impact analysis evaluation over system changes. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Optimal Feature Selection through Search-Based Optimizer in Cross Project
Electronics 2023, 12(3), 514; https://doi.org/10.3390/electronics12030514 - 19 Jan 2023
Viewed by 526
Abstract
Cross project defect prediction (CPDP) is a key method for estimating defect-prone modules of software products. CPDP is a tempting approach since it provides information about predicted defects for those projects in which data are insufficient. Recent studies specifically include instructions on how [...] Read more.
Cross project defect prediction (CPDP) is a key method for estimating defect-prone modules of software products. CPDP is a tempting approach since it provides information about predicted defects for those projects in which data are insufficient. Recent studies specifically include instructions on how to pick training data from large datasets using feature selection (FS) process which contributes the most in the end results. The classifier helps classify the picked-up dataset in specified classes in order to predict the defective and non-defective classes. The aim of our research is to select the optimal set of features from multi-class data through a search-based optimizer for CPDP. We used the explanatory research type and quantitative approach for our experimentation. We have F1 measure as our dependent variable while as independent variables we have KNN filter, ANN filter, random forest ensemble (RFE) model, genetic algorithm (GA), and classifiers as manipulative independent variables. Our experiment follows 1 factor 1 treatment (1F1T) for RQ1 whereas for RQ2, RQ3, and RQ4, there are 1 factor 2 treatments (1F2T) design. We first carried out the explanatory data analysis (EDA) to know the nature of our dataset. Then we pre-processed our data by removing and solving the issues identified. During data preprocessing, we analyze that we have multi-class data; therefore, we first rank features and select multiple feature sets using the info gain algorithm to get maximum variation in features for multi-class dataset. To remove noise, we use ANN-filter and get significant results more than 40% to 60% compared to NN filter with base paper (all, ckloc, IG). Then we applied search-based optimizer i.e., random forest ensemble (RFE) to get the best features set for a software prediction model and we get 30% to 50% significant results compared with genetic instance selection (GIS). Then we used a classifier to predict defects for CPDP. We compare the results of the classifier with base paper classifier using F1-measure and we get almost 35% more than base paper. We validate the experiment using Wilcoxon and Cohen’s d test. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Models and Methods of Designing Data-Centric Microservice Architectures of Digital Enterprises
Informatics 2023, 10(1), 4; https://doi.org/10.3390/informatics10010004 - 05 Jan 2023
Viewed by 992
Abstract
The article is devoted to methods and models of designing systems for the digital transformation of industrial enterprises within the framework of the Industry 4.0 concept. The purpose of this work is to formalize a new notation for graphical modeling of the architecture [...] Read more.
The article is devoted to methods and models of designing systems for the digital transformation of industrial enterprises within the framework of the Industry 4.0 concept. The purpose of this work is to formalize a new notation for graphical modeling of the architecture of complex large-scale systems with data-centric microservice architectures and to present a variant of the reference model of such an architecture for creating an autonomously functioning industrial enterprise. The paper provides a list and justification for the use of functional components of a data-centric microservice architecture based on the analysis of modern approaches to building systems and the authors’ own results obtained during the implementation of a number of projects. The problems of using traditional graphical modeling notations to represent a data-centric microservice architecture are considered. Examples of designing a model of such an architecture for a mining enterprise are given. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Enhancing UML Connectors with Behavioral ALF Specifications for Exogenous Coordination of Software Components
Appl. Sci. 2023, 13(1), 643; https://doi.org/10.3390/app13010643 - 03 Jan 2023
Viewed by 605
Abstract
Connectors are powerful architectural elements that allow the specification of interactions between software components. Since the connectors do not include behavior in UML, the components include the behavior for coordinating the components, complicating the designs of components and decreasing their reusability. In this [...] Read more.
Connectors are powerful architectural elements that allow the specification of interactions between software components. Since the connectors do not include behavior in UML, the components include the behavior for coordinating the components, complicating the designs of components and decreasing their reusability. In this study, we propose the enrichment of UML connectors with behavioral specifications. The goal is to provide separation of concerns for the components so that they are freed from coordination duties. The reusability of the components will increase as a result of such exogenous coordination. Additionally, using the associated behaviors, we aim to resolve the ambiguities that arise when n-ary connectors are used. We use a series of QVTo transformations to transform UML models that include connector behaviors in ALF specifications into UML models which include fUML activities as connector behavior specifications. We present a set of example connectors specified using the proposed method. We execute the QVTo transformations on the example connectors to produce models that represent platform-independent definitions of the coordination behaviors. We also present and discuss cases from real-life large-scale avionics software projects in which using the proposed approach results in simpler and more flexible designs and increases component reusability. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
VoiceJava: A Syntax-Directed Voice Programming Language for Java
Electronics 2023, 12(1), 250; https://doi.org/10.3390/electronics12010250 - 03 Jan 2023
Viewed by 761
Abstract
About 5–10% of software engineers suffer from repetitive strain injury, and it would be better to provide an alternative way to write code instead of using a mouse and keyboard and sitting on a chair the whole day. Coding by voice is an [...] Read more.
About 5–10% of software engineers suffer from repetitive strain injury, and it would be better to provide an alternative way to write code instead of using a mouse and keyboard and sitting on a chair the whole day. Coding by voice is an attractive approach, and quite a bit of work has been done in that direction. At the same time, dictating plain Java text with low accuracy through the existing voice recognition engines or providing complex panels controlled by the voice makes the coding process even more complex. We argue that current programming languages are suitable for programming by hand, not by mouth. We try to solve this problem by designing a new programming language, VoiceJava, suitable for dictating. A Java program is constructed in a syntax-directed way through a sequence of VoiceJava commands. As a result, users do not need to dictate spaces, parentheses, and commas, reducing the vocal load. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Patch It If You Can: Increasing the Efficiency of Patch Generation Using Context
Electronics 2023, 12(1), 179; https://doi.org/10.3390/electronics12010179 - 30 Dec 2022
Viewed by 580
Abstract
Although program repair is a tremendous aspect of a software system, it can be extremely challenging. An Automated Program Repair (APR) technique has been proposed to solve this problem. Among them, template-based APR shows good performance. One of the key properties of the [...] Read more.
Although program repair is a tremendous aspect of a software system, it can be extremely challenging. An Automated Program Repair (APR) technique has been proposed to solve this problem. Among them, template-based APR shows good performance. One of the key properties of the template-based APR technique for practical use is its efficiency. However, because the existing techniques mainly focus on performance improvement, they do not sufficiently consider the efficiency. In this study, we propose EffiGenC, which efficiently explores the patch ingredient search space to improve the overall efficiency of the template-based APR. EffiGenC defines the context using the concept of extended reaching definition from compiler theory. EffiGenC constructs the search space by collecting the ingredient required for patching in the context. We evaluated EffiGenC on the Defects4j benchmark. EffiGenC decreases the number of candidate patches from 27% to 86% compared to existing techniques. EffiGenC also correctly/plausibly fixes 47/72 bugs. For Future work, we will solve the search space problem that exists in multiline bugs using context. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Communication
A New Fast Logarithm Algorithm Using Advanced Exponent Bit Extraction for Software-Based Ultrasound Imaging Systems
Electronics 2023, 12(1), 170; https://doi.org/10.3390/electronics12010170 - 30 Dec 2022
Viewed by 631
Abstract
Ultrasound B-mode imaging provides anatomical images of the body with a high resolution and frame rate. Recently, to improve its flexibility, most ultrasound signal and image processing modules in modern ultrasound B-mode imaging systems have been implemented in software. In a software-based B-mode [...] Read more.
Ultrasound B-mode imaging provides anatomical images of the body with a high resolution and frame rate. Recently, to improve its flexibility, most ultrasound signal and image processing modules in modern ultrasound B-mode imaging systems have been implemented in software. In a software-based B-mode imaging system, an efficient processing technique for calculating a logarithm instruction is required to support its high computational burden. In this paper, we present a new method to efficiently implement a logarithm operation based on exponent bit extraction. In the proposed method, the exponent bit field is first extracted and then some algebraic operations are applied to improve its precision. To evaluate the performance of the proposed method, the peak signal-to-noise ratio (PSNR) and the execution time were measured. The proposed efficient logarithm operation method substantially reduced the execution time, i.e., eight times, compared to direct computation while providing a PSNR of over 50 dB. These results indicate that the proposed efficient logarithm computation method can be used for lowering the computational burden in software-based ultrasound B-mode ultrasound imaging systems while improving or maintaining the image quality. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
BIPMIN: A Gamified Framework for Process Modeling Education
Information 2023, 14(1), 3; https://doi.org/10.3390/info14010003 - 21 Dec 2022
Viewed by 848
Abstract
Business Process Modeling is a skill that is becoming sought after for computer engineers, with Business Process Modeling Notation (BPMN) being one example of the tools used in modeling activities. Students of the Master of Computer Engineering course at Politecnico di Torino learn [...] Read more.
Business Process Modeling is a skill that is becoming sought after for computer engineers, with Business Process Modeling Notation (BPMN) being one example of the tools used in modeling activities. Students of the Master of Computer Engineering course at Politecnico di Torino learn about BPMN in dedicated courses but often underperform on BPMN-related exercises due to difficulties understanding how to model processes. In recent years, there has been a surge of studies that employ gamification (using game elements in non-recreative contexts to obtain benefits) as a tool in Computer Engineering education to increase students’ engagement with the learning process. This study aims to use the principles of gamification to design a supplementary learning tool for the teaching of information systems technology. In particular, to improve student understanding and use of BPMN diagrams. This study also analyzes the usability and motivation of the participants in using different game elements in increasing student motivation and performance. As part of the study, a prototype web application was developed, which implemented three different designs, each incorporating different game elements relating to either progress, competition, or rewards. An evaluation was then conducted on the prototype to evaluate the performance of the practitioners in performing BPMN modeling tasks with the gamified tool, the usability of the proposed mechanics and the enjoyment of the individual game mechanics that were implemented. With the usage of the gamified tool, the users of the experimental sample were able to complete BPMN modeling tasks with performances compatible with estimates made through expert judgement (i.e., gamification had no negative effect on performance), and were motivated to check the correctness of their models many times during the task execution. The system was evaluated as highly usable (85.8 System Usability Score); the most enjoyed game elements were rewards, levels, progress bars and aesthetics. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Bi-LSTM-Based Neural Source Code Summarization
Appl. Sci. 2022, 12(24), 12587; https://doi.org/10.3390/app122412587 - 08 Dec 2022
Viewed by 512
Abstract
Code summarization is a task that is often employed by software developers for fixing code or reusing code. Software documentation is essential when it comes to software maintenance. The highest cost in software development goes to maintenance because of the difficulty of code [...] Read more.
Code summarization is a task that is often employed by software developers for fixing code or reusing code. Software documentation is essential when it comes to software maintenance. The highest cost in software development goes to maintenance because of the difficulty of code modification. To help in reducing the cost and time spent on software development and maintenance, we introduce an automated comment summarization and commenting technique using state-of-the-art techniques in summarization. We use deep neural networks, specifically bidirectional long short-term memory (Bi-LSTM), combined with an attention model to enhance performance. In this study, we propose two different scenarios: one that uses the code text and the structure of the code represented in an abstract syntax tree (AST) and another that uses only code text. We propose two encoder-based models for the first scenario that encodes the code text and the AST independently. Previous works have used different techniques in deep neural networks to generate comments. This study’s proposed methodologies scored higher than previous works based on the gated recurrent unit encoder. We conducted our experiment on a dataset of 2.1 million pairs of Java methods and comments. Additionally, we showed that the code structure is beneficial for methods’ signatures featuring unclear words. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
MSDeveloper: A Variability-Guided Methodology for Microservice-Based Development
Appl. Sci. 2022, 12(22), 11439; https://doi.org/10.3390/app122211439 - 11 Nov 2022
Viewed by 575
Abstract
This article presents a microservice-based development approach, MSDeveloper (Microservices Developer), employing variability management for product configuration through a low-code development environment. The purpose of this approach is to offer a general-purpose environment for the easier development of families of products for different domains: [...] Read more.
This article presents a microservice-based development approach, MSDeveloper (Microservices Developer), employing variability management for product configuration through a low-code development environment. The purpose of this approach is to offer a general-purpose environment for the easier development of families of products for different domains: a domain-oriented development environment is suggested, where domain developers and product developers can utilize the environment as a software ecosystem. Thus, genericity is offered through supporting different domains. A domain is populated with feature and process models and microservices in a layered architecture. Feature models drive the product configuration, which affects the process model and the microservice layer. An experimental study was conducted to validate the applicability of the approach and the usability of the development environment. Students from different courses were assigned system modeling projects where they utilized helper tools supporting the provided methodology. Furthermore, professional software developers were consulted about this recommended domain-oriented development environment. Feedback from student projects and professionals’ remarks are analyzed and discussed. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Security Requirements Prioritization Techniques: A Survey and Classification Framework
Software 2022, 1(4), 450-472; https://doi.org/10.3390/software1040019 - 28 Oct 2022
Viewed by 1101
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

Article
A Novel Framework to Detect Irrelevant Software Requirements Based on MultiPhiLDA as the Topic Model
Informatics 2022, 9(4), 87; https://doi.org/10.3390/informatics9040087 - 27 Oct 2022
Viewed by 827
Abstract
Noise in requirements has been known to be a defect in software requirements specifications (SRS). Detecting defects at an early stage is crucial in the process of software development. Noise can be in the form of irrelevant requirements that are included within an [...] Read more.
Noise in requirements has been known to be a defect in software requirements specifications (SRS). Detecting defects at an early stage is crucial in the process of software development. Noise can be in the form of irrelevant requirements that are included within an SRS. A previous study had attempted to detect noise in SRS, in which noise was considered as an outlier. However, the resulting method only demonstrated a moderate reliability due to the overshadowing of unique actor words by unique action words in the topic–word distribution. In this study, we propose a framework to identify irrelevant requirements based on the MultiPhiLDA method. The proposed framework distinguishes the topic–word distribution of actor words and action words as two separate topic–word distributions with two multinomial probability functions. Weights are used to maintain a proportional contribution of actor and action words. We also explore the use of two outlier detection methods, namely percentile-based outlier detection (PBOD) and angle-based outlier detection (ABOD), to distinguish irrelevant requirements from relevant requirements. The experimental results show that the proposed framework was able to exhibit better performance than previous methods. Furthermore, the use of the combination of ABOD as the outlier detection method and topic coherence as the estimation approach to determine the optimal number of topics and iterations in the proposed framework outperformed the other combinations and obtained sensitivity, specificity, F1-score, and G-mean values of 0.59, 0.65, 0.62, and 0.62, respectively. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Game Development Topics: A Tag-Based Investigation on Game Development Stack Exchange
Appl. Sci. 2022, 12(21), 10750; https://doi.org/10.3390/app122110750 - 24 Oct 2022
Viewed by 711
Abstract
Video-game development, despite being a multi-billion-dollar industry, has not attracted sustained attention from software engineering researchers and remains understudied from a software engineering perspective. We aim to uncover, from game developers’ perspectives, which video game development topics are the most asked about and [...] Read more.
Video-game development, despite being a multi-billion-dollar industry, has not attracted sustained attention from software engineering researchers and remains understudied from a software engineering perspective. We aim to uncover, from game developers’ perspectives, which video game development topics are the most asked about and which are the most supported, in order to provide insights about technological and conceptual challenges game developers and managers may face on their projects. To do so, we turned to the Game Development Stack Exchange (GDSE), a prominent Question and Answer forum dedicated to game development. On that forum, users ask questions and tag them with keywords recognized as important categories by the community. Our study relies on those tags, which we classify either as technology or concept topics. We then analysed these topics for their levels of community attention (number of questions, views, upvotes, etc.) and community support (whether their questions are answered and how long it takes). Related to community attention, we found that topics with the most questions include concepts such as 2D and collision detection and technologies such as Unity and C#, whereas questions touching on concepts such as video and augmented reality and technologies such as iOS, Unreal-4 and Three.js generally lack satisfactory answers. Moreover, by pairing topics, we uncovered early clues that, from a community support perspective, (i) the pairing of some technologies appear more challenging (e.g., questions mixing HLSL and MonoGame receive a relatively lower level of support); (ii) some concepts may be more difficult to handle conjointly (e.g., rotation and movement); and some technologies may prove more challenging to use to address a given concept (e.g., Java for 3D). Our findings provide insights to video game developers on the topics and challenges they might encounter and highlight tool selection and integration for video game development as a promising research direction. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
A Study on Selective Implementation Approaches for Soft Error Detection Using S-SWIFT-R
Electronics 2022, 11(20), 3380; https://doi.org/10.3390/electronics11203380 - 19 Oct 2022
Viewed by 583
Abstract
This article analyzes diverse criteria for effectively implementing selective hardening against soft errors through software-based strategies. The goal is to obtain maximum fault coverage with the least amount of overhead for each specific application. To achieve this objective, the analysis is conducted based [...] Read more.
This article analyzes diverse criteria for effectively implementing selective hardening against soft errors through software-based strategies. The goal is to obtain maximum fault coverage with the least amount of overhead for each specific application. To achieve this objective, the analysis is conducted based on two important phases, pre-selection and selective hardening of registers. In the pre-selection phase, the impact of the two most used selection metrics has been examined: (1) selecting registers based on their memory interaction vs. (2) selecting registers depending on fault injection vulnerability. Toward the selective hardening phase, the impact of gradually increasing the number of registers to protect is examined. Experiments have been conducted on 8 academic case studies and 1 industrial case study. Faults have been injected into the case studies using our in-house fault injector. The results indicate that selecting registers based on the fault injected into the system has an overall 10% better performance in comparison to selecting registers based on the memory interaction in 6 out of 8 academic case studies and also the industrial case study. Additionally, there is a significant improvement in reliability when increasing the number of registers to protect at the expense of rising overhead. In this work, these comparisons and analyses are presented. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
A Framework for Designing Usability: Usability Redesign of a Mobile Government Application
Information 2022, 13(10), 470; https://doi.org/10.3390/info13100470 - 30 Sep 2022
Cited by 1 | Viewed by 828
Abstract
The existing usability models have been used primarily for evaluation, not for usability engineering. The models were found to be general for specific mobile applications. They also lack appropriate guidelines to apply the usability models to m-government applications. Earthquake information is an example [...] Read more.
The existing usability models have been used primarily for evaluation, not for usability engineering. The models were found to be general for specific mobile applications. They also lack appropriate guidelines to apply the usability models to m-government applications. Earthquake information is an example of critical information delivered to citizens via m-government applications. Usability design is considered a very important key factor to the success of such applications. This research addresses the challenges in finding the usability factors important to m-government applications and choosing appropriate factors for specific m-government applications. A questionnaire was administered to 49 citizens. The results include six usability factors which are learnability, simplicity, satisfaction, security, privacy, and memorability. Descriptions of the usability factors were later added to provide a clearer definition for each factor. This paper proposes the usability design framework for m-government applications. The use of the framework was illustrated based on the user interface redesign of the EarthquakeTMD application. The main aim was to demonstrate the applicability of the framework. The quality of the original UI design of the application in the case study was assessed with a questionnaire which was administered to 57 Thai citizens who lived in the areas affected by the disasters. Four designers participated in UI redesigning and produced four different UI designs. The new UI designs were evaluated via two usability tests on two sample groups of representative users. The first usability test was conducted with 24 participants. Twenty-four test cases were used. The second usability test was conducted with 351 representative users. After the tests, both sample groups were given a questionnaire based on the SUS (System Usability Scale). The same two UI designs by experienced and inexperienced designers who used the framework received the highest scores: 89.58 and 87.60 on the first usability test. They also received the highest score on the second usability test: 89.10 and 90.88. The results reveal that the citizens preferred the new user interfaces designed using the framework. It was found that the scores of the UI designed by inexperienced designers who used the framework were as high as the scores of the UI designed by experienced designers, whereas the UI designs from the designers who did not use the framework received the lowest scores: 63.23 and 54.27 on the first usability testing and 59.34 and 46.53 on the second usability testing. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
BPM2DDD: A Systematic Process for Identifying Domains from Business Processes Models
Software 2022, 1(4), 417-449; https://doi.org/10.3390/software1040018 - 29 Sep 2022
Viewed by 1083
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

Article
Semantic Annotation of Legal Contracts with ContrattoA
Informatics 2022, 9(4), 72; https://doi.org/10.3390/informatics9040072 - 20 Sep 2022
Viewed by 1095
Abstract
The aim of the research is to semi-automate the process of generating formal specifications from legal contracts in natural language text form. Towards this end, the paper presents a tool, named ContrattoA, that semi-automatically conducts semantic annotation of legal contract text using an [...] Read more.
The aim of the research is to semi-automate the process of generating formal specifications from legal contracts in natural language text form. Towards this end, the paper presents a tool, named ContrattoA, that semi-automatically conducts semantic annotation of legal contract text using an ontology for legal contracts. ContrattoA was developed through two iterations where lexical patterns were defined for legal concepts and their effectiveness was evaluated with experiments. The first iteration was based on a handful of sample contracts and resulted in defining lexical patterns for recognizing concepts in the ontology; these were evaluated with an empirical study where one group of subjects was asked to annotate legal text manually, while a second group edited the annotations generated by ContrattoA. The second iteration focused on the lexical patterns for the core contract concepts of obligation and power where results of the first iteration were mixed. On the basis of an extended set of sample contracts, new lexical patterns were derived and those were shown to substantially improve the performance of ContrattoA, nearing in quality the performance of experts. The experiments suggest that good quality annotations can be generated for a broad range of contracts with minor refinements to the lexical patterns. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
Evidence-Based Software Engineering: A Checklist-Based Approach to Assess the Abstracts of Reviews Self-Identifying as Systematic Reviews
Appl. Sci. 2022, 12(18), 9017; https://doi.org/10.3390/app12189017 - 08 Sep 2022
Cited by 2 | Viewed by 874
Abstract
A systematic review allows synthesizing the state of knowledge related to a clearly formulated research question as well as understanding the correlations between exposures and outcomes. A systematic review usually leverages explicit, reproducible, and systematic methods that allow reducing the potential bias that [...] Read more.
A systematic review allows synthesizing the state of knowledge related to a clearly formulated research question as well as understanding the correlations between exposures and outcomes. A systematic review usually leverages explicit, reproducible, and systematic methods that allow reducing the potential bias that may arise when conducting a review. When properly conducted, a systematic review yields reliable findings from which conclusions and decisions can be made. Systematic reviews are increasingly popular and have several stakeholders to whom they allow making recommendations on how to act based on the review findings. They also help support future research prioritization. A systematic review usually has several components. The abstract is one of the most important parts of a review because it usually reflects the content of the review. It may be the only part of the review read by most readers when forming an opinion on a given topic. It may help more motivated readers decide whether the review is worth reading or not. But abstracts are sometimes poorly written and may, therefore, give a misleading and even harmful picture of the review’s contents. To assess the extent to which a review’s abstract is well constructed, we used a checklist-based approach to propose a measure that allows quantifying the systematicity of review abstracts i.e., the extent to which they exhibit good reporting quality. Experiments conducted on 151 reviews published in the software engineering field showed that the abstracts of these reviews had suboptimal systematicity. Full article
(This article belongs to the Topic Software Engineering and Applications)
Show Figures

Figure 1

Article
An Automated Tool for Upgrading Fortran Codes
Software 2022, 1(3), 299-315; https://doi.org/10.3390/software1030014 - 13 Aug 2022
Cited by 1 | Viewed by 1770
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

Article
The Impact of Agile Development Practices on Project Outcomes
Software 2022, 1(3), 265-275; https://doi.org/10.3390/software1030012 - 05 Aug 2022
Viewed by 1903
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

Back to TopTop