Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 6,167 papers for “Java source code”

Classification feature sets for source code plagiarism detection in Java

Hosam, Eman, Hadhoud, Mayada, Atiya, Amir et al. · Figshare · 2022

Abstract In programming learning environments, the pressure of delivering many programming assignments makes plagiarism the easiest solution. This highly threatens the learning process; therefore, the need of an automatic, fast, and accurate detection of source code plagiarism becomes essential. To detect whether a pair of Java files is plagiarized, this paper proposes four classification feature sets: (i) structural histogram features, histogram-based features for summarizing similarity matrices; (ii) lexical per-class features, extracted from a lexical similarity matrix between the classes of the two compared files based on character 3-grams; (iii) structural counting features, twelve counting features representing the code structure; and (iv) modified original features: a set of modifications on the features of the used baseline. The results show that the best feature sets in F-measure are the structural histogram features and the lexical per-class features combined, which improve the F-measure by 4% compared to the baseline. The added features slow down the execution time. However, it is still efficient, given that it can classify 70k pairs in 23 min. In addition, we partially re-annotated the SOurce COde Re-use dataset. After the re-annotation, the F-measure of both the baseline and our work is improved, and our work achieves an F-measure of 93.6%, which is 7.5% higher than the new F-measure of the baseline. In addition, some remarks and recommendations are provided for using the SOurce COde Re-use dataset as a benchmark.

Cited by 0Open access

JTube: Lightweight Support for Structuring and Documenting Java Source Code

2005

Structure and documentation are two major factors for successful soft-ware development. Retaining control over them is difficult, because there are various forms of structural information and documentation. Java source code is still full of neglected sources of such information. Whether it is relations between methods of the same class or dependencies between source code and external documentation, we lack lightweight tools to ex-tract and visualize the respective data. In this paper we present JTube, a tool that assists the developer with making use of this hidden informa-tion. JTube is designed to be easily usable for Java developers: it comes as an Eclipse plugin and makes use of common practices in writing Java source code, namely grouping methods, using submethods and referencing external documentation.

Cited by 0

Abstract Object Oriented Design Pattern Extraction From Java Source Code

Rupesh Acharya, Rupesh Acharya · 2013

In case of software architecture reconstruction, design pattern detection plays a vital role since its presence reflects the point of design decision. Currently most of the studied approaches only focus on the Gang of Four (GOF) design patterns so those tools are not flexible enough to identify other proprietary pattern instances. Moreover, the GOF design pattern can be implemented in various ways which many of the tools suffers to detect. Apart from that not only design pattern is of vital importance for software architecture reconstruction but other patterns like anti-patterns and presence of bad smell code are also equally important. So the approach discussed here is a solution for detecting any pattern instances (not only GOF patterns) from the source code provided that relevant information is extracted during the static analysis phase. Our approach is based on the graph pattern matching technique where the source code is modeled as a graph and the pattern to search for is provided as a graph query pattern. For the detection of patterns we focus on structural and behavioral analysis of source code as in the case of a tool called PINOT. The novelty of our approach

Cited by 0

JavaML 2.0: Enriching the Markup Language for Java Source Code

Ademar Aguiar, Gabriel David, Greg Badros · 2004

Abstract. Although the representation of source code in plain text format is convenient for manipulation by programmers, it is not an effective format for processing by software engineering tools at an abstraction level suitable for source code analysis, reverse-engineering, or refactoring. Textual source code files require language-specific parsing to uncover program structure, a task un-dertaken by all compilers but by only a few software engineering tools. JavaML is an alternative and complementary XML representation of Java source code that adds structural and semantic information into source code, and is easy to manipulate, query, and transform using general purpose XML tools and tech-niques. This paper presents an evolved version of JavaML, dubbed JavaML 2.0, and the enhancements made to the schema and respective converters: DTD and XML Schema support, cross-linking of all program symbols, and full preser-vation of original formatting and comments. The application of JavaML 2.0 is illustrated with concrete examples taken from the software documentation tool that motivated the enhancements. 1

Cited by 0

Classification feature sets for source code plagiarism detection in Java

Eman Hosam, Mayada Hadhoud, Amir F. Atiya et al. · Journal of Engineering and Applied Science · 2022

Abstract In programming learning environments, the pressure of delivering many programming assignments makes plagiarism the easiest solution. This highly threatens the learning process; therefore, the need of an automatic, fast, and accurate detection of source code plagiarism becomes essential. To detect whether a pair of Java files is plagiarized, this paper proposes four classification feature sets: (i) structural histogram features, histogram-based features for summarizing similarity matrices; (ii) lexical per-class features, extracted from a lexical similarity matrix between the classes of the two compared files based on character 3-grams; (iii) structural counting features, twelve counting features representing the code structure; and (iv) modified original features: a set of modifications on the features of the used baseline. The results show that the best feature sets in F-measure are the structural histogram features and the lexical per-class features combined, which improve the F-measure by 4% compared to the baseline. The added features slow down the execution time. However, it is still efficient, given that it can classify 70k pairs in 23 min. In addition, we partially re-annotated the SOurce COde Re-use dataset. After the re-annotation, the F-measure of both the baseline and our work is improved, and our work achieves an F-measure of 93.6%, which is 7.5% higher than the new F-measure of the baseline. In addition, some remarks and recommendations are provided for using the SOurce COde Re-use dataset as a benchmark.

Cited by 2Open access

Finding Recursive Generics in Java Source Code using Machine Learning

Neha Kumari, Rajeev Kumar · International Journal of Engineering Trends and Technology · 2023

Understanding a complex type structure and its use in a type-safe manner is a difficult task. The recursive generic type is a complex variant one can expect by finding the recursion. It has major significance in generic programming for solving binary method problems and mimicking self-type. However, improper use of recursive generics can cause vulnerabilities in source code. To avoid unsafe practices, a programmer must be aware of the recursive generic presence in source code. In Java generics, the type recursion can be found at a class or interface declaration. Therefore, it is appropriate to distinguish class type at declaration time itself. In this paper, we use a machine learning approach to find recursive and non-recursive generic types in Java source code. We collect data from ten contemporary Java projects and prepare a dataset with generic-specific attributes. The lesser presence of recursive generic type in Java projects causes an imbalanced dataset. Initially, the dataset results were highly imbalanced. Therefore, we resampled the dataset and used the dataset to train decision tree-based classifiers. Using standard performance metrics, we conduct a comparative analysis to find a (near-) optimal classifier among the six decision tree-based classifiers. Our analysis reasserts that the ensemble-based ``Random Forest Classifier

Cited by 0Open access

Mapping Java Source Code To Architectural Concerns Through Machine Learning

Florean, Alexander, Jalal, Laoa · Digitala vetenskapliga arkivet (Diva) (Karlstad University) · 2021

The explosive growth of software systems with both size and complexity results in the recognised need of techniques to combat architectural degradation. Reflexion Modelling is a method commonly used for Software Architectural Consistency Checking (SACC). However, the steps needed to utilise the method involve manual mapping, which could become tedious depending on the system's size. Recently, machine learning has been showing promising results outperforming other approaches. However, neither a comparison of different classifiers nor a comprehensive investigation of how to best pre-process source code has yet been performed. This thesis compares different classifier and their performance to the manual effort needed to train them and how different pre-processing settings affect their accuracy. The study can be divided into two areas: pre-processing and how large the manual mapping should be to achieve satisfactory performance. Across the three software systems used in this study, the overall best performing model, MaxEnt, achieved the following average results, accuracy 0.88, weighted precision 0.89 and weighted recall 0.88. SVM performed almost identically to MaxEnt. Furthermore, the results show that Naive-Bayes, the algorithm in recent related work approaches, performs worse than SVM and MaxEnt. The results yielded that the pre-processing that extracts packages and libraries, together with the feature representation method Bag-of-Words had the best performance. Furthermore, it was found that manual mapping of a minimum of ten files per concern is needed for satisfactory performance. The research results represent a further step towards automating code-to-architecture mappings, as required in reflexion modelling and similar techniques.

Cited by 0Open access

An Open Source Java Code For Visualizing Supply Chain Problems

Yekta Yamaner, Yalcin Yamaner, Alp Akçay et al. · 2008

In this paper, we decribe an open source Java class library for visualizing supply chain problems within a geographical context. The highly competitive markets and recent technological advances make the use of such supply chain network visualizations critical in both strategic and tactical levels. The most important characteristic of our work is its easy integration with any Java

Cited by 1

bank management system project in java with source code pdf

wpnljbgs · Zenodo (CERN European Organization for Nuclear Research) · 2024

bank management system project in java with source code pdf Rating: 4.9 / 5 (1361 votes) Downloads: 14029 = = = = = CLICK HERE TO DOWNLOAD = = = = = Leveraging JDBC for smooth database interactions This Bank Management System includes a tutorial and a guide for coding. Java Mini Java Projects. StepCreate a JFrame name The first step will be to create a new project. "Bank Management System: A Core Java project designed to streamline banking operations. in a bank. First, open the file and then click " project " to create. The Banking System is a Java Swing application that simulates basic banking operations. Features include account management, transaction tracking, and secure data storage using MySQL. Features include account management, transaction tracking, and secure Bank management system project in java with source code. The application will allow users to create bank accounts, deposit and withdraw funds, transfer money between accounts, and display account details. The results demonstrate the feasibility and In this section, we will learn how to create a mini-application for a banking system in Java. The main objective is to create a -based only system. The main objective is to create a -based only system Through this project, the banking system achieves improved performance, enhanced user experience, and robust security measures. These powerful tools offer an effective solution for building efficient and secure banking applications. StepCreate a project. String mysqlJDBCDriver = Bank Management System Project ReportFree download as PDF File.pdf), Text File.txt) or read online for free , · Bank Management System using Java Swing. which will help to maintain the bank account records, Maintain the transaction records of the customers. StepInclude JDBC Driver for MySQL. Second, name your project. Introduction: Using the technologies of Java, Swing, JDBC, and MySQL, the Banking management system project was created This paper explores the implementation of a modern banking system using the Java Spring Boot and Angular frameworks. Overview Developed by Md. Jasim Uddin & Nuruzzaman (BCSE/th Batch) Abstract. In this program, we will add some basic functionalities of a bank account like a deposit of amount, withdrawal of amount, etc. In this project I tried Objective of Online bank management project in java. A simple and basic level little project for learning purposes is an online Bank Management System Project in Java Banking management is a system that is designed to show how the banking sector works using the Frontend and Backend to enable Transactions. Name it as you wish. This tutorial will guide you through creating a simple console-based banking application using Core Java. Third, create a " JFrame " form. In the src folder create a bank package. Easy to track all the banking activity a centralized system to maintain all the bank activity. Initially, the program accepts the number of customers we need to add and adds the customer and account details accordingly Time neededminutes. Objective of Online bank management project in java. In that package, we will be creating some files for different modules. StepCreate a project name. Let's check the project In this section, we will learn how to create a mini-application for a banking system in Java. Have Java JDK already installed and an IDE like Eclipse Java Spring Boot provides a strong foundation for the backend infrastructure of the banking system Author: Ramesh Fadatare. // register jdbc Driver. These are the steps on how to create the system project. java-project banking-applications object-oriented-programming java-swing-applications bank Please download the source code of Java Library Management System: Library Management System Project Code. This Bank Account Management System is an open-source project that you can download and modify as needed. The Bank Account Management System is an application for maintaining a persons account. It provides a user-friendly interface for managing accounts, Bank Management System Report PDF PDF Java (Programming Language) Thread (Computing) Bank Management System e download as PDF File "Bank Management System: A Core Java project designed to streamline banking operations. StepCreate JFrame. To connect the system with the database you will need to follow certain steps. In this program, we will add some basic functionalities of a bank account like a deposit , · Create a Connection class in the banking package. Steps to Create Library Management System in Description.

Cited by 0Open access

CodeGuard: enhancing accuracy in detecting clones within java source code

Yasir Glani, Ping Luo · Frontiers in Computer Science · 2024

Detecting code clones remains challenging, particularly for Type-II clones, with modified identifiers, and Type-III ST and MT clones, where up to 30% and 50% of code, respectively, are added or removed from the original clone code. To address this, we introduce CodeGuard , an innovative technique that employs comprehensive level-by-level abstraction for Type-II clones and a flexible signature matching algorithm for Type-III clone categories. This method requires at least 50% similarity within two corresponding chunks within the same file, ensuring accurate clone identification. Unlike recently proposed methods limited to clone detection, CodeGuard precisely pinpoints changes within clone files, facilitating effective debugging and thorough code analysis. It is validated through comprehensive evaluations using reputable datasets, CodeGuard demonstrates superior precision, high recall, robust F1 scores, and outstanding accuracy. This innovative methodology not only sets new performance standards in clone detection but also emphasizes the role CodeGuard 's can play in modern software development, paving the way for advancements in code quality and maintenance.

Cited by 1Open access

Using source code metrics to predict change-prone Java interfaces

Daniele Romano, Martin Pinzger · Data Archiving and Networked Services (DANS) · 2011

Recent empirical studies have investigated the use of source code metrics to predict the change- and defect-proneness of source code files and classes. While results showed strong correlations and good predictive power of these metrics, they do not distinguish between interface, abstract or concrete classes. In particular, interfaces declare contracts that are meant to remain stable during the evolution of a software system while the implementation in concrete classes is more likely to change. This paper aims at investigating to which extent the existing source code metrics can be used for predicting change-prone Java interfaces. We empirically investigate the correlation between metrics and the number of fine-grained source code changes in interfaces of ten Java open-source systems. Then, we evaluate the metrics to calculate models for predicting change-prone Java interfaces. Our results show that the external interface cohesion metric exhibits the strongest correlation with the number of source code changes. This metric also improves the performance of prediction models to classify Java interfaces into change-prone and not change-prone.

Cited by 9Open access

bank management system project in java with source code pdf

wpnljbgs · Zenodo (CERN European Organization for Nuclear Research) · 2024

<pre><code>\n<p><strong>bank management system project in java with source code pdf</strong><br></p>\n<p>Rating: 4.9 / 5 (1361 votes)<br></p>\n<p>Downloads: 14029<br><br></p>\n <p>= = = = = \n<strong><a href="https://tds11111.com/21Nr9y?keyword=bank management system project in java with source code pdf" target="_blank">CLICK HERE TO DOWNLOAD</a></strong>\n = = = = = <br><br></p>\n<p><br><br><br><br></p>\n<p><br><br><br><br></p>\n<p><br><br>Leveraging JDBC for smooth database interactions This Bank Management System includes a tutorial and a guide for coding. Java Mini Java Projects. StepCreate a JFrame name The first step will be to create a new project. "Bank Management System: A Core Java project designed to streamline banking operations. in a bank. First, open the file and then click " project " to create. The Banking System is a Java Swing application that simulates basic banking operations. Features include account management, transaction tracking, and secure data storage using MySQL. Features include account management, transaction tracking, and secure Bank management system project in java with source code. The application will allow users to create bank accounts, deposit and withdraw funds, transfer money between accounts, and display account details. The results demonstrate the feasibility and In this section, we will learn how to create a mini-application for a banking system in Java. The main objective is to create a -based only system. The main objective is to create a -based only system Through this project, the banking system achieves improved performance, enhanced user experience, and robust security measures. These powerful tools offer an effective solution for building efficient and secure banking applications. StepCreate a project. String mysqlJDBCDriver = Bank Management System Project ReportFree download as PDF File.pdf), Text File.txt) or read online for free , · Bank Management System using Java Swing. which will help to maintain the bank account records, Maintain the transaction records of the customers. StepInclude JDBC Driver for MySQL. Second, name your project. Introduction: Using the technologies of Java, Swing, JDBC, and MySQL, the Banking management system project was created This paper explores the implementation of a modern banking system using the Java Spring Boot and Angular frameworks. Overview Developed by Md. Jasim Uddin & Nuruzzaman (BCSE/th Batch) Abstract. In this program, we will add some basic functionalities of a bank account like a deposit of amount, withdrawal of amount, etc. In this project I tried Objective of Online bank management project in java. A simple and basic level little project for learning purposes is an online Bank Management System Project in Java Banking management is a system that is designed to show how the banking sector works using the Frontend and Backend to enable Transactions. Name it as you wish. This tutorial will guide you through creating a simple console-based banking application using Core Java. Third, create a " JFrame " form. In the src folder create a bank package. Easy to track all the banking activity a centralized system to maintain all the bank activity. Initially, the program accepts the number of customers we need to add and adds the customer and account details accordingly Time neededminutes. Objective of Online bank management project in java. In that package, we will be creating some files for different modules. StepCreate a project name. Let's check the project In this section, we will learn how to create a mini-application for a banking system in Java. Have Java JDK already installed and an IDE like Eclipse Java Spring Boot provides a strong foundation for the backend infrastructure of the banking system Author: Ramesh Fadatare. // register jdbc Driver. These are the steps on how to create the system project. java-project banking-applications object-oriented-programming java-swing-applications bank Please download the source code of Java Library Management System: Library Management System Project Code. This Bank Account Management System is an open-source project that you can download and modify as needed. The Bank Account Management System is an application for maintaining a persons account. It provides a user-friendly interface for managing accounts, Bank Management System Report PDF PDF Java (Programming Language) Thread (Computing) Bank Management System e download as PDF File "Bank Management System: A Core Java project designed to streamline banking operations. StepCreate JFrame. To connect the system with the database you will need to follow certain steps. In this program, we will add some basic functionalities of a bank account like a deposit , · Create a Connection class in the banking package. Steps to Create Library Management System in Description.</p></code></pre>

Cited by 0Open access

A Patterns Based Reverse Engineering Approach for Java Source Code

Rui Couto, António Nestor Ribeiro, José Creissac Campos · Portuguese National Funding Agency for Science, Research and Technology (RCAAP Project by FCT) · 2012

The ever increasing number of platforms and languages available to software developers means that the software industry is reaching high levels of complexity. Model Driven Architecture (MDA) presents a solution to the problem of improving software development processes in this changing and complex environment. MDA driven development is based on models definition and transformation. Design patterns provide a means to reuse proven solutions during development. Identifying design patterns in the models of a MDA approach helps their understanding, but also the identification of good practices during analysis. However, when analyzing or maintaining code that has not been developed according to MDA principles, or that has been changed independently from the models, the need arises to reverse engineer the models from the code prior to patterns' identification. The approach presented herein consists in transforming source code into models, and infer design patterns from these models. Erich Gamma's cataloged patterns provide us a starting point for the pattern inference process. MapIt, the tool which implements these functionalities is described.

Cited by 9Open access

Classification feature sets for source code plagiarism detection in Java

Hosam, Eman, Hadhoud, Mayada, Atiya, Amir et al. · Figshare · 2022

Abstract In programming learning environments, the pressure of delivering many programming assignments makes plagiarism the easiest solution. This highly threatens the learning process; therefore, the need of an automatic, fast, and accurate detection of source code plagiarism becomes essential. To detect whether a pair of Java files is plagiarized, this paper proposes four classification feature sets: (i) structural histogram features, histogram-based features for summarizing similarity matrices; (ii) lexical per-class features, extracted from a lexical similarity matrix between the classes of the two compared files based on character 3-grams; (iii) structural counting features, twelve counting features representing the code structure; and (iv) modified original features: a set of modifications on the features of the used baseline. The results show that the best feature sets in F-measure are the structural histogram features and the lexical per-class features combined, which improve the F-measure by 4% compared to the baseline. The added features slow down the execution time. However, it is still efficient, given that it can classify 70k pairs in 23 min. In addition, we partially re-annotated the SOurce COde Re-use dataset. After the re-annotation, the F-measure of both the baseline and our work is improved, and our work achieves an F-measure of 93.6%, which is 7.5% higher than the new F-measure of the baseline. In addition, some remarks and recommendations are provided for using the SOurce COde Re-use dataset as a benchmark.

Cited by 0Open access

Source-code Summarization of Java Methods Using Control-Flow Graphs

Beyene, Michael · University Library (University of Saskatchewan) · 2021

Source-code summarization aims to generate natural-language summaries for software artifacts (e.g., method and class). \n% Researchers have been exploring source-code summarization as one research area in software engineering. \nVarious research works showed the use of text-retrieval-based techniques, heuristic-based techniques, and data-driven techniques for source-code summarization. In data-driven techniques, researchers used a sequence of source-code tokens and other representations of source code (e.g., application programming interface (API) sequences and abstract syntax tree (AST)) as an input to source-code summarization models. According to the current published literature in source-code summarization, researchers have not explored the use of a sequence extracted from control-flow graph that shows a contextual relationship between program instructions based on control-flow relationships for source-code summarization models. In this work, we employ control-flow graph representations to increase the prediction accuracy of a bi-directional long-short term memory (LSTM) source-code summarization model in terms of describing the functionality of Java methods. We use an attention-based bi-directional LSTM sequence-to-sequence model to show the use of linearized control-flow graph sequences alongside a sequence of source-code tokens. We compared our model with the current state-of-the-art and with or without a linearized control-flow graph. We created a source-code summarization dataset to train and evaluate our approach and conducted expert and automatic evaluations. In the expert evaluation, the participants gave rating for summaries generated by each model in terms of correctly describing the functionality of a Java method. Our models outperformed the state-of-the-art in terms of the mean average-rating. Also, the expert evaluation showed us the model benefit from the structural information. In the automatic evaluation, we found that the use of control-flow graphs does not increase the prediction accuracy of a bi-directional LSTM model in terms of BLEU score compared to a bi-directional LSTM model that does not use control-flow graphs. However, we found our source-code summarization approach that uses a control-flow graph as an additional representation better than encoding AST in graph neural networks. Overall, we improved the state-of-the-art for method summarization with our models that take sequence of method tokens with and without a control-flow graph.

Cited by 0

Source code optimizer using local optimization approach for java based generic code clone detection

Ikhwan Muhammad, Hillmee · UMP Institutional Repository (Universiti Malaysia Pahang) · 2019

Source code optimization techniques is a technique that is widely used by many researchers and programmers to enhance a software system. It is applied for enhancements especially in terms of performance, time execution, optimizing size of code etc. There are three main available approaches for source code optimization, that is Local Optimization, Global Optimization, and Inter-Procedural Optimization. In addition, this research aims to improve the Generic Code Clone Detection (GCCD) model. GCCD tool is a prototype which is used for detecting code clones. Before enhancing the GCCD model with source code optimization, this research will study about multiple code optimization techniques, its approaches and also the overall structure and processes of GCCD model in order to apply code optimization as part of the process in the GCCD model. Besides that, this research focuses only on the local optimization approach. To obtain the results, datasets from the Bellon’s benchmark for Java will be used for evaluation purposes. There are four (4) steps in the method used in this research, first step is to review the GCCD model and its functions in order to understand its processes and how the model works. Second step is to review code optimization techniques. Third step is to apply code optimization technique as part of the process in GCCD model. The fourth step is to compare the enhanced and original version of the GCCD prototype tool as an evaluation. As a result of this research, an enhanced version of the GCCD prototype is created by implementing and integrating code optimization processes into the GCCD model which will aid the prototype tool to detect better quality code clones. As a conclusion, the improved and enhanced GCCD prototype tool will run in accordance with its original functions without having to change its expected output but can be executed with a better performance.

Cited by 0Open access

JMigBench: A Benchmark for Evaluating LLMs on Source Code Migration (Java 8 to Java 11)

Nishil Amin, Zhiwei Fei, Xiang Li et al. · arXiv (Cornell University) · 2026

We build a benchmark to evaluate large language models (LLMs) for source code migration tasks, specifically upgrading functions from Java 8 to Java 11. We first collected a dataset of function pairs from open-source repositories, but limitations in data quality led us to construct a refined dataset covering eight categories of deprecated APIs. Using this dataset, the Mistral Codestral model was evaluated with CodeBLEU and keyword-based metrics to measure lexical and semantic similarity as well as migration correctness. Results show that the evaluated model (Mistral Codestral) can handle trivial one-to-one API substitutions with moderate success, achieving identical migrations in 11.11% of the cases, but it struggles with more complex migrations such as CORBA or JAX-WS. These findings suggest Mistral Codestral can partially reduce developer effort by automating repetitive migration tasks but cannot yet replace humans within the scope of the JMigBench benchmark. The benchmark and analysis provide a foundation for future work on expanding datasets, refining prompting strategies, and improving migration performance across different LLMs.

Cited by 0Open access