Recognition regarding code clones equivalent or similar source code fragments is of concern both to researchers along with to practitioners. An evaluation of the clone detection results for a single source code versio...
详细信息
ISBN:
(纸本)9781479940400
Recognition regarding code clones equivalent or similar source code fragments is of concern both to researchers along with to practitioners. An evaluation of the clone detection results for a single source code version gives a developer with details about a discrete state in the development of the software system. Nevertheless, tracing clones throughout several source code versions enables a clone analysis to take into consideration a temporal dimension. This kind of an analysis of clone evolution may be utilized to find out the patterns as well as characteristics displayed by clones as they evolve within a system. Developers may utilize the outcomes of this analysis to recognize the clones more thoroughly, which may guide them to handle the clones more consequentially. Hence, studies of clone evolution provide a important role in perceiving as well as handling concerns of cloning in software. This paper gives a systematic overview of the literature on clone evolution. Specifically, we give a complete analysis of 20 appropriate papers that we found as per our review protocol. The review outcomes are arranged to deal with three research questions. As a result of our outcomes to these questions, we provide the approaches that researchers have utilized to analyze clone evolution, the patterns that researchers have detected evolving clones to exhibit, as well as the data that researchers have established concerning the extent of conflicting adjustment gone through clones throughout software evolution. Overall, the review outcomes show that while researchers have carried out many bench marked studies of clone evolution, there are conflicts among the noted findings, specifically concerning the lifetimes of clone lineages as well as the persistence with which clones are modified throughout software evolution. We recognize human-based benchmarked studies along with classification of clone evolution patterns as two areas in specifically require of further work.
Background: The use of mobile devices for delivering health -related services (mobile health [mHealth]) has rapidly increased, leading to a demand for summarizing the state of the art and practice through systematic r...
详细信息
Background: The use of mobile devices for delivering health -related services (mobile health [mHealth]) has rapidly increased, leading to a demand for summarizing the state of the art and practice through systematic reviews. However, the systematic review process is a resource -intensive and time-consuming process. Generative artificial intelligence (AI) has emerged as a potential solution to automate tedious tasks. Objective: This study aimed to explore the feasibility of using generative AI tools to automate time-consuming and resource -intensive tasks in a systematic review process and assess the scope and limitations of using such tools. Methods: We used the design science research methodology. The solution proposed is to use cocreation with a generative AI, such as ChatGPT, to produce software code that automates the process of conducting systematic reviews. Results: A triggering prompt was generated, and assistance from the generative AI was used to guide the steps toward developing, executing, and debugging a Python script. Errors in code were solved through conversational exchange with ChatGPT, and a tentative script was created. The code pulled the mHealth solutions from the Google Play Store and searched their descriptions for keywords that hinted toward evidence base. The results were exported to a CSV file, which was compared to the initial outputs of other similar systematic review processes. Conclusions: This study demonstrates the potential of using generative AI to automate the time-consuming process of conducting systematic reviews of mHealth apps. This approach could be particularly useful for researchers with limited coding skills. However, the study has limitations related to the design science research methodology, subjectivity bias, and the quality of the search results used to train the language model.
Deep learning (DL) frameworks possess robust feature extraction and pattern recognition abilities, enabling them to autonomously grasp and pinpoint error and vulnerability patterns within codebases. This article lever...
详细信息
This work presents inspect4py, a static code analysis framework designed to automatically extract the main features, metadata and documentation of Python code repositories. Given an input folder with code, inspect4py ...
详细信息
ISBN:
(纸本)9781450393034
This work presents inspect4py, a static code analysis framework designed to automatically extract the main features, metadata and documentation of Python code repositories. Given an input folder with code, inspect4py uses abstract syntax trees and state of the art tools to find all functions, classes, tests, documentation, call graphs, module dependencies and control flows within all code files in that repository. Using these findings, inspect4py infers different ways of invoking a software component. We have evaluated our framework on 95 annotated repositories, obtaining promising results for software type classification (over 95% F1-score). With inspect4py, we aim to ease the understandability and adoption of software repositories by other researchers and developers.
The mass adoption of autonomous driving and Advanced Driver-Assistance System (ADAS) technologies increases the complexity and maintenance cost of automotive-embedded software during model-based development. Through m...
详细信息
The mass adoption of autonomous driving and Advanced Driver-Assistance System (ADAS) technologies increases the complexity and maintenance cost of automotive-embedded software during model-based development. Through model-based development tools (e.g., MATLAB/Simulink), the code is automatically generated by architectural transformation;however, unreasonable software architecture design could make the final generated code be difficult to maintain. Currently, both Microsoft Maintainability Index (MMI) and Bosch Maintainability Index (BMI) are used to measure the maintainability of code, but neither software architecture. We establish a four-layer maintainability index model by analyzing the characteristics of automotive software architecture, software quality model, and industry-related standards. We then propose a Two-dimensional Maintainability Index (TMI), meaning the code and architecture dimensions are simultaneously considered. This is the first work of maintainability measurement to combine code and architecture dimensions while ensuring low redundancy. TMI utilizes nine index metrics to guide architecture refactoring and code optimization, significantly improving software maintainability.
Quality assurance is a continuous process throughout the project lifecycle from inception till post-delivery. software metrics are tools to help developers in achieving software quality objectives. software metrics ar...
详细信息
Quality assurance is a continuous process throughout the project lifecycle from inception till post-delivery. software metrics are tools to help developers in achieving software quality objectives. software metrics are used to predict the fault-proneness of classes in software using machine-learning and statistical techniques. However, these methodologies are difficult for daily tasks. Simpler and on the fly methodologies such as threshold values are needed. Metric thresholds can be used to control software quality and to recommend improvements on software code. Thresholds detect the parts of software that need more verification and validation. Many threshold identification techniques were proposed in previous research. However, the techniques do not provide consistent thresholds. The authors compare eight threshold identification techniques to diagnose software fault-proneness. The eight techniques are derived from diagnosis measures such as specificity, sensitivity, recall and precision. Five threshold identification techniques have derived thresholds that are skewed and have large standard deviations. Only three techniques are selected for threshold identification based on consistency and variation in selecting thresholds of software metrics in the systems under study. These techniques find thresholds that have the least variation among the studied techniques. The median of the 11 systems is selected as a representative of all thresholds.
Motivated by the idea of reusing existing source code from previous projects within a software company, in this paper, we present a new source code recommendation technique called "SoCeR" to help programmers...
详细信息
ISBN:
(纸本)9781728173030
Motivated by the idea of reusing existing source code from previous projects within a software company, in this paper, we present a new source code recommendation technique called "SoCeR" to help programmers find relevant implementations or sample code based on software requirement specifications. SoCeR assists programmers to search existing code repositories using natural language query. Our proposed approach summarizes Python code into sentences or phrases to match them against user queries. SoCeR extracts and analyzes the content of the code (such as variables, functions, docstrings, and comments) to generate code summary for each function which is then mapped to the respective functions. For evaluation purposes, we developed a web-based tool for users to enter a textual search query and get the relevant code search results that were most relevant to the query. In SoCeR, users can also upload new code to enrich the code base with tested code. If adopted, then SoCeR will benefit a software company to build a trusted code base enabling large-scale software code reuse.
Comments are used to explain the meaning of code and ease communications between programmers themselves, quality assurance auditors, and code reviewers. A tool has been developed to help programmers write readable com...
详细信息
Comments are used to explain the meaning of code and ease communications between programmers themselves, quality assurance auditors, and code reviewers. A tool has been developed to help programmers write readable comments and measure their readability level. It is used to enhance software readability by providing alternatives to both keywords and comment statements from a local database and an online dictionary. It is also a word-finding query engine for developers. Readability level is measured using three different formulas: the fog index, the Flesch reading ease score, and Flesch-Kincaid grade levels. A questionnaire has been distributed to 42 programmers and 35 students to compare the readability aspect between both new comments written by the tool and the original comments written by previous programmers and developers. Programmers stated that the comments from the proposed tool had fewer complex words and took less time to read and understand. Nevertheless, this did not significantly affect the understandability of the text, as programmers normally have quite a high level of English. However, the results from students show that the tool affects the understandability of text and the time taken to read it, while text complexity results show that the tool makes new comment text that is more readable by changing the three studied variables.
Genetic algorithm (GA) has been adopted for the optimisation of the slow wave structure (SWS) of an X-band helix travelling wave tube. To reduce the optimisation time and to achieve the desired performance, a software...
详细信息
Genetic algorithm (GA) has been adopted for the optimisation of the slow wave structure (SWS) of an X-band helix travelling wave tube. To reduce the optimisation time and to achieve the desired performance, a software code based on GA has been developed to automate the optimisation process of the helix SWS. A two-section SWS has been optimised. The pitches and the lengths of all the subsections have been considered with the objective of achieving the desired saturated output power and the saturated gain over the operating frequency range. The procedure for the implementation of the GA has been demonstrated. Multiple trials have been conducted for achieving the most optimal set of parameters. The cost over several generations for all the trials is presented and the optimised values of the saturated output power and the saturated gain are also shown.
暂无评论