software metric
Enhancing Software Quality Assurance with an Adaptive Differential Evolution based Quantum Variational Autoencoder-Transformer Model
Barma, Seshu Babu, Hariharan, Mohanakrishnan, Arvapalli, Satish
An AI-powered quality engineering platform uses artificial intelligence to boost software quality assessments through automated defect prediction and optimized performance alongside improved feature extraction. Existing models result in difficulties addressing noisy data types together with imbalances, pattern recognition complexities, ineffective feature extraction, and generalization weaknesses. To overcome those existing challenges in this research, we develop a new model Adaptive Differential Evolution based Quantum Variational Autoencoder-Transformer Model (ADE-QVAET), that combines a Quantum Variational Autoencoder-Transformer (QVAET) to obtain high-dimensional latent features and maintain sequential dependencies together with contextual relationships, resulting in superior defect prediction accuracy. Adaptive Differential Evolution (ADE) Optimization utilizes an adaptive parameter tuning method that enhances model convergence and predictive performance. ADE-QVAET integrates advanced AI techniques to create a robust solution for scalable and accurate software defect prediction that represents a top-level AI-driven technology for quality engineering applications. The proposed ADE-QVAET model attains high accuracy, precision, recall, and f1-score during the training percentage (TP) 90 of 98.08%, 92.45%, 94.67%, and 98.12%.
Interactive Multi-Objective Evolutionary Optimization of Software Architectures
Ramírez, Aurora, Romero, José Raúl, Ventura, Sebastián
During the architectural analysis, abstract artifacts need to be precisely identified and specified in order to efficiently guide the development, evolution and deployment of the overall system. Considering such an early stage, architectural decisions become even more challenging due to the lack of knowledge about the system but, at the same time, they are crucial to fulfill the many quality criteria imposed [12]. Artificial intelligence techniques and, more specifically, metaheuristics, can support software engineers in their decision processes by providing them with effective methods to explore a great deal of software designs, each one determined by a different trade-off among the required quality aspects. Such a scenario can be viewed as one of the goals of the search-based software engineering (SBSE) field[14], in which optimization techniques are applied to the resolution of software engineering (SE) tasks conveniently reformulated as search problems. However, solving human-centered activities in a fully automated way seems to be unrealistic, especially for those related to the analysis phase. Certainly, trying to capture the richness of human knowledge only by means of software metrics still represents an unresolved matter to the SE community [32]. Hence, most of the evaluation methods proposed at the architectural level strongly rely on the expert's judgment [10], making extremely difficult to precisely formulate a quantitative fitness function. Given the relevance of the software architect for the design process, searchbased approaches should benefit from his/her knowledge and expertise in order to address the optimization problem in the same way s/he would do it. Interactive optimization [21] constitutes a compelling paradigm here.
Quantifying Process Quality: The Role of Effective Organizational Learning in Software Evolution
Real-world software applications must constantly evolve to remain relevant. This evolution occurs when developing new applications or adapting existing ones to meet new requirements, make corrections, or incorporate future functionality. Traditional methods of software quality control involve software quality models and continuous code inspection tools. These measures focus on directly assessing the quality of the software. However, there is a strong correlation and causation between the quality of the development process and the resulting software product. Therefore, improving the development process indirectly improves the software product, too. To achieve this, effective learning from past processes is necessary, often embraced through post mortem organizational learning. While qualitative evaluation of large artifacts is common, smaller quantitative changes captured by application lifecycle management are often overlooked. In addition to software metrics, these smaller changes can reveal complex phenomena related to project culture and management. Leveraging these changes can help detect and address such complex issues. Software evolution was previously measured by the size of changes, but the lack of consensus on a reliable and versatile quantification method prevents its use as a dependable metric. Different size classifications fail to reliably describe the nature of evolution. While application lifecycle management data is rich, identifying which artifacts can model detrimental managerial practices remains uncertain. Approaches such as simulation modeling, discrete events simulation, or Bayesian networks have only limited ability to exploit continuous-time process models of such phenomena. Even worse, the accessibility and mechanistic insight into such gray- or black-box models are typically very low. To address these challenges, we suggest leveraging objectively [...]
A Systematic Literature Review of Soft Computing Techniques for Software Maintainability Prediction: State-of-the-Art, Challenges and Future Directions
Yenduri, Gokul, Gadekallu, Thippa Reddy
The software is changing rapidly with the invention of advanced technologies and methodologies. The ability to rapidly and successfully upgrade software in response to changing business requirements is more vital than ever. For the long-term management of software products, measuring software maintainability is crucial. The use of soft computing techniques for software maintainability prediction has shown immense promise in software maintenance process by providing accurate prediction of software maintainability. To better understand the role of soft computing techniques for software maintainability prediction, we aim to provide a systematic literature review of soft computing techniques for software maintainability prediction. Firstly, we provide a detailed overview of software maintainability. Following this, we explore the fundamentals of software maintainability and the reasons for adopting soft computing methodologies for predicting software maintainability. Later, we examine the soft computing approaches employed in the process of software maintainability prediction. Furthermore, we discuss the difficulties and potential solutions associated with the use of soft computing techniques to predict software maintainability. Finally, we conclude the review with some promising future directions to drive further research innovations and developments in this promising area.
Planning a Machine Learning project
As a Head of the Data Science team, I am continually challenged with planning for a Machine Learning project and estimating the amount of time and effort necessary to complete it. In order to make an informed decision about each machine learning project, I prepared a template that can assist me with thinking about important elements before planning. To simplify the explanation of the most important points, each machine learning project is divided into three main parts, prototyping, deployment, and monitoring. Each part describes the items that you should consider in planning. The goal of prototyping is to decide if the application is workable and worth deploying.
How Many Software Metrics Should be Selected for Defect Prediction?
Wang, Huanjing (Western Kentucky University) | Khoshgoftaar, Taghi M. (Florida Atlantic University) | Seliya, Naeem (University of Michigan, Dearborn)
A software practitioner is interested in the solution to “for a given project, what is the minimum number of software metrics that should be considered for building an effective defect prediction model?” During the development life cycle various software metrics are collected for different reasons. In the case of a metricsbased defect prediction model, an intelligent selection of software metrics prior to building defect predictors is likely to improve model performance. This study utilizes the proposed threshold-based feature selection technique to remove irrelevant and redundant software metrics (a.k.a. features or attributes). A comparative investigation is presented for evaluating the size of the selected feature subsets. The case study is based on software measurement data obtained from a real-world project, and the defect predictors are trained using three commonly used classifiers. The empirical case study results demonstrate that an effective defect predictor can be built with only three metrics; and moreover, model performances improved when over 98.5% of the software metrics were eliminated.