scholarly journals Recommendation Based on Java Code Analysis and Search

Author(s):  
Shanqing Fu ◽  
Bing Li ◽  
Yi Cai ◽  
Zhuang Liu ◽  
Junxia Guo

How to improve the efficiency and quality of software development is an ongoing concern in the field of software engineering. As a useful auxiliary function, code recommendation is embedded in almost all integrated development environments. There has been increasing interest and research in the area of code recommendation in recent years due to its convenience for project development. Existing research has made a lot of contributions to this field, but there are still many issues that need further study. One of the key points is the low success rate of recommendation. Focusing on this problem, this paper proposes a method to recommend Java source code after parsing massive amounts of source code information. We propose a new source code analysis algorithm for the scraped source code data. A source file is parsed into classes, methods, and attributes as recommendation objects. At the same time, the annotation information is bound to the annotated objects. Finally, the parsed information is indexed at the project, class, and method levels for code recommendations in a hierarchical recommendation manner. A code recommendation system is implemented by combining this with full-text retrieval technology for class library, class, and method level recommendation. The experimental results show that the method proposed in this paper has better performance in recommendation accuracy than existing code recommendation engines.

Technologies ◽  
2020 ◽  
Vol 9 (1) ◽  
pp. 3
Author(s):  
Gábor Antal ◽  
Zoltán Tóth ◽  
Péter Hegedűs ◽  
Rudolf Ferenc

Bug prediction aims at finding source code elements in a software system that are likely to contain defects. Being aware of the most error-prone parts of the program, one can efficiently allocate the limited amount of testing and code review resources. Therefore, bug prediction can support software maintenance and evolution to a great extent. In this paper, we propose a function level JavaScript bug prediction model based on static source code metrics with the addition of a hybrid (static and dynamic) code analysis based metric of the number of incoming and outgoing function calls (HNII and HNOI). Our motivation for this is that JavaScript is a highly dynamic scripting language for which static code analysis might be very imprecise; therefore, using a purely static source code features for bug prediction might not be enough. Based on a study where we extracted 824 buggy and 1943 non-buggy functions from the publicly available BugsJS dataset for the ESLint JavaScript project, we can confirm the positive impact of hybrid code metrics on the prediction performance of the ML models. Depending on the ML algorithm, applied hyper-parameters, and target measures we consider, hybrid invocation metrics bring a 2–10% increase in model performances (i.e., precision, recall, F-measure). Interestingly, replacing static NOI and NII metrics with their hybrid counterparts HNOI and HNII in itself improves model performances; however, using them all together yields the best results.


Cancers ◽  
2021 ◽  
Vol 13 (3) ◽  
pp. 584
Author(s):  
Fausto Meriggi ◽  
Massimo Graffeo

The incidence of hepatocellular carcinoma (HCC) continues to increase worldwide, particularly in Western countries. In almost all cases, HCC develops in subjects with hepatic cirrhosis, often as the result of hepatitis B or C virus infection, alcohol abuse or metabolic forms secondary to non-alcoholic steatohepatitis. Patients with HCC and hepatic symptoms can therefore present symptoms that are attributable to both conditions. These patients require multidisciplinary management, calling for close interaction between the hepatologist and the oncologist. Indeed, the treatment of HCC requires, depending on the disease stage and the degree of hepatic impairment, locoregional therapies that can in turn be broken down into surgical and nonsurgical treatments and systemic treatments used in the event of progression after the administration of locoregional treatments. The past decade has seen the publication of countless papers of great interest that have radically changed the scenario of treatment for HCC. Novel therapies with biological agents and immunotherapy have come to be standard options in the approach to treatment of this cancer, obtaining very promising results where in the past chemotherapy was almost never able to have an impact on the course of the disease. However, in addition to being costly, these drugs are not devoid of adverse effects and their management cannot forgo the consideration of the underlying hepatic impairment. Patients with HCC and cirrhosis therefore require special attention, starting from the initial characterisation needed for an appropriate selection of those to be referred for treatment, as these patients are almost never fit. In this chapter, we will attempt to investigate and clarify the key points of the management of the main toxicities induced by locoregional and systemic treatments for HCC secondary to cirrhosis.


2021 ◽  
Author(s):  
Kathryn Kost ◽  
◽  
Isaac Maddow-Zimet ◽  
Ashley C. Little

Key Points In almost all U.S. states, pregnancies reported as occurring at the right time or being wanted sooner than they occurred comprised the largest share of pregnancies in 2017, though proportions varied widely by state. The proportion of pregnancies that were wanted later or unwanted was higher in the South and Northeast than in other regions, and the proportion of pregnancies that occurred at the right time or were wanted sooner was higher in the West and Midwest. From 2012 to 2017, the wanted-later-or-unwanted pregnancy rate fell in the majority of states. However, no clear pattern emerged for any changes in the rate of pregnancies that were reported as wanted then or sooner or in the rate of those for which individuals expressed uncertainty.


2019 ◽  
Vol 48 (4) ◽  
pp. 682-693
Author(s):  
Bo Zheng ◽  
Jinsong Hu

Matrix Factorization (MF) is one of the most intuitive and effective methods in the Recommendation System domain. It projects sparse (user, item) interactions into dense feature products which endues strong generality to the MF model. To leverage this interaction, recent works use auxiliary information of users and items. Despite effectiveness, irrationality still exists among these methods, since almost all of them simply add the feature of auxiliary information in dense latent space to the feature of the user or item. In this work, we propose a novel model named AANMF, short for Attribute-aware Attentional Neural Matrix Factorization. AANMF combines two main parts, namely, neural-network-based factorization architecture for modeling inner product and attention-mechanism-based attribute processing cell for attribute handling. Extensive experiments on two real-world data sets demonstrate the robust and stronger performance of our model. Notably, we show that our model can deal with the attributes of user or item more reasonably. Our implementation of AANMF is publicly available at https://github.com/Holy-Shine/AANMF.


Author(s):  
Natarajan Meghanathan ◽  
Alexander Roy Geoghegan

The high-level contribution of this book chapter is to illustrate how to conduct static code analysis of a software program and mitigate the vulnerabilities associated with the program. The automated tools used to test for software security are the Source Code Analyzer and Audit Workbench, developed by Fortify, Inc. The first two sections of the chapter are comprised of (i) An introduction to Static Code Analysis and its usefulness in testing for Software Security and (ii) An introduction to the Source Code Analyzer and the Audit Workbench tools and how to use them to conduct static code analysis. The authors then present a detailed case study of static code analysis conducted on a File Reader program (developed in Java) using these automated tools. The specific software vulnerabilities that are discovered, analyzed, and mitigated include: (i) Denial of Service, (ii) System Information Leak, (iii) Unreleased Resource (in the context of Streams), and (iv) Path Manipulation. The authors discuss the potential risk in having each of these vulnerabilities in a software program and provide the solutions (and the Java code) to mitigate these vulnerabilities. The proposed solutions for each of these four vulnerabilities are more generic and could be used to correct such vulnerabilities in software developed in any other programming language.


2020 ◽  
Vol 10 (22) ◽  
pp. 8005
Author(s):  
Damian Giebas ◽  
Rafał Wojszczyk

This paper is a contribution to the field of research dealing with the parallel computing, which is used in multithreaded applications. The paper discusses the characteristics of atomicity violation in multithreaded applications and develops a new definition of atomicity violation based on previously defined relationships between operations, that can be used to atomicity violation detection. A method of detection of conflicts causing atomicity violation was also developed using the source code model of multithreaded applications that predicts errors in the software.


Sign in / Sign up

Export Citation Format

Share Document