Malicious code attacks have severely hindered the current development of the Internet technologies. Once the devices are infected with virus, the damages to companies and users are unpredictable. Although researchers ...
详细信息
Malicious code attacks have severely hindered the current development of the Internet technologies. Once the devices are infected with virus, the damages to companies and users are unpredictable. Although researchers have developed malware detection methods, the analysis result still cannot achieve the desired accuracy due to complicated malicious code families and fast-growing variants. In this paper, to solve this problem, we combine Convolutional Neural Networks (CNNs) with Generative Adversarial Networks (GANs) to design an efficient and accurate malware detection method. First, we implement a code visualization method and utilize GAN to generate more samples of malicious code variants in the role of data augmentation. Then, the lightweight AlexNet originated from CNN to classify malware families. Finally, simulation experiments are conducted to evaluate that our CNN plus GAN model can achieve a higher classification accuracy (i.e., 97.78%) compared with some related work.
As globally distributed software development has become generalized, social coding platforms like Github are becoming increasing needed for team collaboration. To share and help understand the overview of projects amo...
详细信息
ISBN:
(纸本)9781509048717
As globally distributed software development has become generalized, social coding platforms like Github are becoming increasing needed for team collaboration. To share and help understand the overview of projects among teams, source code visualization is useful. In this paper, we present a new visual software development tool, Rocat, a city-like software code visualization in virtual reality. In addition, we integrate Rocat with a GitLabbased code hosting service, Kataribe. By integrating Rocat into Kataribe, line-grained code information can be visualized, and city visualization can be easily shared. We present our tool and provide the features of Rocat on liataribe. A Screencast for demonstration is available at the following URI. hittps://***?v ZQTT091v4No
Nowadays, visualization is one of the most important things an integrated development environment or any smart code editor needs to have. There are several different options when it comes to the visualization. It play...
详细信息
ISBN:
(纸本)9798350386608;9798350386592
Nowadays, visualization is one of the most important things an integrated development environment or any smart code editor needs to have. There are several different options when it comes to the visualization. It plays a crucial role in software development and has several important benefits, like understanding the code structure, debugging, or troubleshooting. code visualization enhances developer productivity, facilitates collaboration, and contributes to the maintainability and scalability of software projects. It is an essential aspect of modern software development practices. In this paper, we focus on one of the most widely used code editors - Visual Studio code - and on a core component that drives the Visual Studio code called Monaco Editor, mainly on how they can visualize different sections of a code and their complexity when it comes to visualization. Source code visualization refers to representing code visually to enhance understanding, analysis, and communication of software systems.
code visualization tools play a core role for visualization of the code and helping novices in understanding, analyzing, and optimization of their programs. Tools such as Algorithm Visualizer and PythonTutor are devel...
详细信息
code review is a systematic inspection of the codebase. It ensures that the software satisfies the required functionalities and standards;thus, it is an essential stage in the modern development process and is used fr...
详细信息
ISBN:
(纸本)9781665431446
code review is a systematic inspection of the codebase. It ensures that the software satisfies the required functionalities and standards;thus, it is an essential stage in the modern development process and is used frequently in the industry. For a successful review, the reviewer should be able to identify defects;therefore, the process is highly dependent on the awareness of the reviewer. Currently, code review is done by comparing the line-by-line differences on the codebase. However, this does not give structural information, such as design pattern changes or dependency changes between services. To address this problem, we propose an augmented next-generation code review experience using visual and holistic approaches to streamline the reviewing process. The proposed code review experience shows the structural representation of the change by visualizing it into a UML-like relationship diagram. Along with this diagram, the risk percentage for each commit is highlighted to emphasize the differences that possibly can be most affected by the change. An artifact map is also produced that includes issue-commit relation for bug tracking, to make reviewers aware of the frequent issues that are brought up. This map also highlights the change frequency of the files, for focusing the reviewers on the possibly vulnerable parts of the software for better quality reviews. The proposed visualizations have been implemented in a plugin-based proof-of-concept tool integrated within GitHub, supporting the visual reviewing of changes in codebases developed with Java language.
Bad smells are symptoms in the source code that indicate possible deeper problems and may serve as drivers for code refactoring. Although efforts have been made on measuring code complexity in object-oriented systems,...
详细信息
ISBN:
(纸本)9781614994848;9781614994831
Bad smells are symptoms in the source code that indicate possible deeper problems and may serve as drivers for code refactoring. Although efforts have been made on measuring code complexity in object-oriented systems, such as CK metrics, little emphasis has been put on analyzing code smells through a visualization manner In this paper, we present a system for detecting and visualizing three kinds of code smells of software systems: Long Method, Large Class, and Long Parameter List. Thresholds for identifying the code smells are calculated based on statistics analysis on the source code of 50 open source projects. code smells are visualized as graphs with colored nodes according to their different severity degrees.
code visualization presents a visual representation of the state of the code to support code comprehension activities. In addition to representing code elements (for example, methods, classes and packages) and relatio...
详细信息
ISBN:
(纸本)9781728124186
code visualization presents a visual representation of the state of the code to support code comprehension activities. In addition to representing code elements (for example, methods, classes and packages) and relationships between them, previous studies of code visualization also represent metrics to indicate code smell. However, the metric value only shows vague symptoms in describing the code smell behind it. This study tries to visualize the code smell directly using detection strategies, which are formulation of one or more than one metric and its threshold value for each type of code smell. 'Smelly' elements are immediately shown in code visualization according to the predetermined detection strategies. 3D mushroom farm metaphor is a new metaphor proposed in this study for code visualization. Through code visualization in a familiar natural 3D environment, code properties are displayed in an attractive manner. The presented code properties are chosen by considering object-oriented paradigm key ideas. During this time, there has never been a fundamental reason as to why a specific property was chosen to be included in a code visualization metaphor. Therefore, this study questioned code properties visualized to participants of the evaluation: is the early comprehension of the code sufficient enough or should it be added /reduced. The evaluation results showed that the code smell that was immediately shown in the visualization could be captured by the user correctly. All evaluated participants managed to identify all the smelly elements. Broadly speaking, participants understood the purpose of visualization and agreed that code visualization with the 3D mushroom farm metaphor is intuitive and easy to use. All participants stated that they needed all code properties displayed in code visualization with the 3D mushroom farm metaphor, although there were participants who proposed several properties to be added to the visualization.
The Linux kernel has grown to 20 million lines of code, which have been contributed by almost 14,000 programmers. The complexity of the Linux kernel challenges the kernel maintenance and makes comprehending the kernel...
详细信息
The Linux kernel has grown to 20 million lines of code, which have been contributed by almost 14,000 programmers. The complexity of the Linux kernel challenges the kernel maintenance and makes comprehending the kernel more difficult for developers learning the kernel. Automated tool support is crucial for comprehending such a large-scale program involving a high volume of code. In this article, we present KernelGraph, which enhances understanding of the Linux kernel by providing a visual representation of kernel internals. KernelGraph resembles online map systems and facilitates kernel code navigation in an intuitive and interactive way. We describe the key techniques used in KernelGraph to process the vast amount of information in the kernel codebase quickly. We also implemented two applications built atop KernelGraph to enhance kernel comprehension. KernelGraph was presented to 30 participants, who were asked several questions about their kernel comprehension in a controlled study. Our experimental results show that, compared with other source code comprehension tools, KernelGraph improves kernel comprehension by enabling people to visually browse the kernel code and by providing an effective means for exploring the kernel structure. The ability to switch seamlessly between high-level views and source code significantly reduces the gap between source code and high-level mental representation. KernelGraph can be easily extended to support visualizations of other large-scale codebases.
The purpose of software defect prediction is to identify defect-prone code modules to assist software quality assurance teams with the appropriate allocation of resources and *** previous software defect prediction st...
详细信息
The purpose of software defect prediction is to identify defect-prone code modules to assist software quality assurance teams with the appropriate allocation of resources and *** previous software defect prediction studies,transfer learning was effective in solving the problem of inconsistent project data ***,target projects often lack sufficient data,which affects the performance of the transfer learning *** addition,the presence of uncorrelated features between projects can decrease the prediction accuracy of the transfer learning *** address these problems,this article propose a software defect prediction method based on stable learning(SDP-SL)that combines code visualization techniques and residual *** method first transforms code files into code images using code visualization techniques and then constructs a defect prediction model based on these code *** the model training process,target project data are not required as prior *** the principles of stable learning,this paper dynamically adjusted the weights of source project samples to eliminate dependencies between features,thereby capturing the“invariance mechanism”within the *** approach explores the genuine relationship between code defect features and labels,thereby enhancing defect prediction *** evaluate the performance of SDP-SL,this article conducted comparative experiments on 10 open-source projects in the PROMISE *** experimental results demonstrated that in terms of the F-measure,the proposed SDP-SL method outperformed other within-project defect prediction methods by 2.11%-44.03%.In cross-project defect prediction,the SDP-SL method provided an improvement of 5.89%-25.46% in prediction performance compared to other cross-project defect prediction ***,SDP-SL can effectively enhance within-and cross-project defect predictions.
Due to the diversity and unpredictability of changes in malicious code,studying the traceability of variant families remains *** this paper,we propose a GAN-EfficientNetV2-based method for tracing families of maliciou...
详细信息
Due to the diversity and unpredictability of changes in malicious code,studying the traceability of variant families remains *** this paper,we propose a GAN-EfficientNetV2-based method for tracing families of malicious code *** method leverages the similarity in layouts and textures between images of malicious code variants from the same source and their original family of malicious code *** method includes a lightweight classifier and a *** classifier utilizes the enhanced EfficientNetV2 to categorize malicious code images and can be easily deployed on mobile,embedded,and other *** simulator utilizes an enhanced generative adversarial network to simulate different variants of malicious code and generates datasets to validate the model’s *** process helps identify model vulnerabilities and security risks,facilitating model enhancement and *** classifier achieves 98.61%and 97.59%accuracy on the MMCC dataset and Malevis dataset,*** simulator’s generated image of malicious code variants has an FID value of 155.44 and an IS value of 1.72±*** classifier’s accuracy for tracing the family of malicious code variants is as high as 90.29%,surpassing that of mainstream neural network *** meets the current demand for high generalization and anti-obfuscation abilities in malicious code classification models due to the rapid evolution of malicious code.
暂无评论