software architecture is a set of abstractions that helps you reason about the software you plan to build, or have already built. Our field has had small abstractions for a long time now, but it has taken decades to a...
详细信息
software architecture is a set of abstractions that helps you reason about the software you plan to build, or have already built. Our field has had small abstractions for a long time now, but it has taken decades to accumulate larger abstractions, including quality attributes, information hiding, components and connectors, multiple views, and architectural styles. When we design systems, we weave these abstractions together, preserving a chain of intentionality, so that the systems we design do what we want. Twenty years ago, in this magazine, Martin Fowler published the influential essay "Who Needs an Architect?" It's time for developers to take another look at software architecture and see it as a set of abstractions that helps them reason about software.
software development comes with a lot of challenges. Developers face various issues with performance and bugs. These issues increase with the scale of the project and if fewer individuals work on the development. It h...
详细信息
software development comes with a lot of challenges. Developers face various issues with performance and bugs. These issues increase with the scale of the project and if fewer individuals work on the development. It has become necessary to fix various bugs during development to ensure better performance and reduce the chances of failure during the deployment of the software. As a result of this, faults in the software must be predicted during the earlier stages of development. This would help in reducing the cost of maintenance of the software post-deployment. Multiple software fault prediction (SFP) approaches have been proposed to tackle this problem. These approaches can be improved by implementing ensemble techniques. In this paper, we study the effect of the bagging technique and how it helps to improve the predictive capability across various datasets. These datasets are provided and made open source by NASA. Decision Tree Classifier (DTC), Logistic Regression (LR), K-Nearest Neighbors (KNN), Gaussian Naive Bayes (GNB), and Support Vector Classifier (SVC) were used as base classifiers for the bagging method. Random forest (RFC) is an ensemble learning algorithm that uses the bagging technique. Based on the outcome of the results, it was concluded that RFC was the best-performing algorithm.
Cryptographic algorithms are fundamental to secure software development, but security vulnerabilities can arise during implementation, usage, and when calling third-party libraries. As security standards continue to e...
详细信息
ISBN:
(数字)9798350381993
ISBN:
(纸本)9798350382006
Cryptographic algorithms are fundamental to secure software development, but security vulnerabilities can arise during implementation, usage, and when calling third-party libraries. As security standards continue to evolve, software updates have become an inevitable trend, and detecting cryptographic algorithm misuse is crucial to ensure compliance with these standards during the update process. However, closed-source software presents challenges in detecting cryptographic algorithm misuse. To enhance the security ecosystem of software, we designed a hybrid detection approach for detecting misuses in closed-source software related to weak cryptographic algorithms, short keys, insecure working modes, and insecure padding modes. Our hybrid detection tool uses both static and dynamic detection methods to collect log information through a logging mechanism in binary executable files. The collected data is cleaned using a data cleaning strategy and analyzed to extract key features, generating test reports to help developers and experts identify cryptographic algorithm security issues. We tested 24 software applications from app stores and found that 62.5% had weak algorithm implementations or usage, 83.3% supported short keys, and 50% supported insecure padding modes. Finally, we provided actionable recommendations to mitigate identified issues.
A stroke is a condition where there is no flow of blood in the brain, depriving it of oxygen and resulting in long-term brain damage and loss of function. Most typically, a clot in an artery delivering blood to the br...
详细信息
A stroke is a condition where there is no flow of blood in the brain, depriving it of oxygen and resulting in long-term brain damage and loss of function. Most typically, a clot in an artery delivering blood to the brain is the culprit. Hemorrhage, in which blood leaks into the brain due to a ruptured vessel, is another possible reason. A stroke can result in long-term harm, such as partial paralysis, speech impairment, cognitive impairment, and memory loss. The second leading cause of mortality is a stroke, which is also a significant contributor to disability worldwide. According to the World Stroke Organization (WSO), a stroke will occur in 1 out of every four adults over the age of 25. The number of stroke victims worldwide exceeds 110 million. The objective of the thesis is to incorporate an integrated software system that will predict stroke using artificial neural networks and machine learning algorithms like logistic regression, decision tree classification, random forest classification, K-nearest neighbors, support vector machines, and Nave Bayes classification. The rate of strokes is already alarming. Having an intuitive system to conveniently predict stroke could help reduce the rate of stroke by educating people, which is the focus of the research.
Nowadays, people are becoming self-employed software developers due to the growing demand for mobile apps and other forms of computerized software. However, software Engineering is a broad field since it necessitates ...
详细信息
Nowadays, people are becoming self-employed software developers due to the growing demand for mobile apps and other forms of computerized software. However, software Engineering is a broad field since it necessitates open lines of communication among all parties involved in the system's development and the timely and cost-effective delivery of the system itself. Acquiring excellent performance by reducing the size of the system is an integral part of meeting consumer expectations. But, the most expensive part of developing software is defects estimation. Metrics collected from software may provide some insight into the presence of defects. In the final stages of software testing, defect estimates may be produced. Furthermore, estimating defects in the early stages of the software development life cycle (SDLC) is among the critical fields of study only with the goal of cost-effectiveness and appropriate resource planning. In order to improve the efficiency of defect estimation, various data mining techniques have been applied, including Support Vector Machines, C4.5, Bagging, Naive Bayes, K-Nearest Neighbors, Neural Networks, Random Forest, Decision Trees, and Radial Bias. These techniques are applied to datasets from NASA dataset repositories and evaluated using various metrics for software defects estimation (SDE). The results of our study indicated that the Support Vector Machine algorithm had the highest performance among the data mining techniques evaluated. The algorithm achieved a precision of 43.74%, recall of 50.00%, accuracy of 87.48%, and an F-1 measure of 81.64%. It is essential to consider various evaluation metrics, including recall, F-measure, precision, and accuracy, when performing software defects estimation.
A software complex has been developed for the study of algorithms for working with graphs. The complex is built on the basis of an object-oriented approach, which makes it relatively easy to include subsystems for sol...
详细信息
A software complex has been developed for the study of algorithms for working with graphs. The complex is built on the basis of an object-oriented approach, which makes it relatively easy to include subsystems for solving various types of problems for working with graphs. One of the components of this software complex is the developed and implemented subsystem for solving the problem of finding the shortest path on a graph.
In practical applications, such as medical microwave imaging, the implementation of three-dimensional (3D) numerical electromagnetic (EM) inverse scattering algorithms has been limited for over two decades owing to th...
详细信息
In practical applications, such as medical microwave imaging, the implementation of three-dimensional (3D) numerical electromagnetic (EM) inverse scattering algorithms has been limited for over two decades owing to their high computational cost. The emergence of graphics processing unit (GPU) computing has offered new possibilities to alleviate the computational burden related to EM calculations;the optimized deployment of EM inverse scattering algorithms on GPUs or other accelerators, however, has not been explored. To this end, we present the first complete GPU implementation of an iterative EM inverse scattering algorithm, which employs a suite of optimization tools in both the forward and inverse problems solved at each iteration. Importantly, we study the impact of various implementation alternatives on computational savings in different computing platforms. Our results demonstrate the significance and benefits of jointly optimizing the forward and inverse problems in implementations in heterogeneous systems. Importantly, our optimization achieves the fastest fully numerical implementation of nonlinear, iterative, EM inverse scattering algorithms that has ever been reported in the literature, resulting in real-time, 3D MWT-based reconstructions. This can pave the way for the development of clinical systems for microwave-based applications such as breast cancer or stroke detection, which are designed to take full advantage of 3D MWT scanning and expand their imaging capabilities.
The integration of solar Photovoltaic (PV) systems with Electric Vehicle (EV) technology is emerging as a sustainable and promising method to cope with increasing energy demands, mitigate environmental impact, and red...
详细信息
The integration of solar Photovoltaic (PV) systems with Electric Vehicle (EV) technology is emerging as a sustainable and promising method to cope with increasing energy demands, mitigate environmental impact, and reduce carbon emissions within residential and transportation sectors. This study focuses on the residential application of a grid-connected "PV+EV" system in Sydney, Australia, underscoring the benefits of using bi-directional vehicle batteries in conjunction with rooftop PV systems. In addition to heuristic price signal dispatch algorithms in the System Advisor Model (SAM) software tool, which rely on manual dispatch and peak shaving analyses, a novel Q-Learning-Based-Model (QLBM) algorithm within the domain of machine learning methodology is employed to enhance the understanding of system dynamics. This novel approach is designed to predict optimal energy efficiency by prioritizing the most cost-effective energy source, thereby alleviating grid stress, minimizing energy costs. The results are then compared to other techniques employed in this paper, affirming the superiority of the proposed algorithm.
Despite their growing popularity, swarms of robots remain limited by the operating time of each individual. We present algorithms that allow a human to sculpt a swarm of robots into a shape that persists in space perp...
详细信息
Despite their growing popularity, swarms of robots remain limited by the operating time of each individual. We present algorithms that allow a human to sculpt a swarm of robots into a shape that persists in space perpetually, independent of onboard energy constraints, such as batteries. Robots generate a path through a shape such that robots cycle in and out of the shape. Robots inside the shape react to human initiated changes and adapt the path through the shape accordingly. Robots outside the shape recharge and return to the shape so that the shape can persist indefinitely. The presented algorithms communicate shape changes throughout the swarm using message passing and robot motion. These algorithms enable the swarm to persist through any arbitrary changes to the shape. We describe these algorithms in detail and present their performance in simulation and on a swarm of mobile robots. The result is a swarm behavior more suitable for extended duration, dynamic shape-based tasks in applications, such as entertainment, agriculture, and emergency response.
In the early development of source code change analysis, methodologies primarily relied on simple textual differencing, which treated code as mere text and identified changes through lines that were added, modified, o...
详细信息
In the early development of source code change analysis, methodologies primarily relied on simple textual differencing, which treated code as mere text and identified changes through lines that were added, modified, or deleted. This approach overlooked the rich semantic information embedded within the code, highlighting significant limitations in textual analysis and differencing that required a more precise and language-aware foundation. Our research on ChangeDistiller pioneered the use of abstract syntax trees and associated tree edits for change analysis. We were among the first to introduce a tree-differencing algorithm for source code, enabling a fine-grained examination of modifications. ChangeDistiller has since been widely adopted by researchers in the field of mining software repositories. This paper reflects on the evolution of our technique, its influence on subsequent research, and its role in the advancement of change analysis methodologies. In addition, we explore how contemporary techniques and tools can draw on our foundational work to enhance their effectiveness.
暂无评论