java programming Recently Published Documents

Total documents.

  • Latest Documents
  • Most Cited Documents
  • Contributed Authors
  • Related Sources
  • Related Keywords

Developing New Software for Functional Food Production

Introduction. Statistical methods of data processing and IT technologies make it possible to introduce new modern methods of hazard and risk analysis in food industry. The research objective was to develop new software that would link together various risk-related production data. Study objects and methods. The research featured food production company LLC Yug (Biysk, Russia) that specializes in functional products and various ready-made software automation solutions. The study also involved statistical methods, methods of observation, collection of primary information, sequential top-down development of algorithms, and the Java programming language. Results and discussion. Food producers have a registration procedure for inconsistencies and violations of permissible limits at critical control points. The authors developed a new software program that allows production line operators to enter data on downtime and other violations of the production process. The program makes it possible for managers to receive up-to-date reports on various criteria, identify violations, and select appropriate corrective actions. This ready-made solution automates the process of accounting and hazard analysis. The program was tested at LLC Yug with the focus on the time that operators and managers needed to register the problem, analyze the data, develop corrective or preventive measures, and apply them. Conclusion. The new software proved to be less time-consuming than standard procedures applied in food industry and made it possible to save the time that operators and managers spent on decision making and reporting.

Ascertaining Important Features of the JAPROSIM Simulation Library

This paper describes important features of JAPROSIM, a free and open source simulation library implemented in Java programming language. It provides a framework for building discrete event simulation models. The process interaction world view adopted by JAPROSIM is discussed. We present the architecture and major components of the simulation library. In order to ascertain important features of JAPROSIM, examples are given. Further motivations are discussed and suggestions for improving our work are given.

The comparative analysis of Java frameworks: Spring Boot, Micronaut and Quarkus

The aim of the work is a comparative analysis of three frameworks designed for building web applications for the Java programming language: Spring Boot 2.4.4, Micronaut 2.5.4 and Quarkus 1.13.4.Final. Test applications were prepared, equipped with the same functionality as used in the experiment consisting in measuring the server response times to a POST request – performing the data entry into the database. For each test application, the scenario aimed at measuring the time of handling requests under various load conditions was repeated five times. During each repetition of the scenario, the load which was the average number of requests sent per second by virtual users was increased. In parallel with performance tests, the reliability of the test applications was measured. Reliability was defined as the percentage of requests sent to the server that ended in a failure. The comparative analysis also took into consideration the volume of the code of the test applications based on the selected frameworks. The performed analyses showed that in terms of all the criteria considered in this work Micronaut proved to be the best framework.

Comparative analysis of connection performance with databases via JDBC interface and ORM programming frameworks

The research subject of this paper was the comparative analysis of efficiency of connections with databases using different communication methods based on Java programming language. The tools investigated included JDBC drivers and Object-relational mapping (ORM) frameworks. A survey based on 8 different criteria was conducted to determine the most effective method and tool for working with relational databases when developing Java applications. The weights of the criteria were determined through a survey of Java programmers and computer science students.

Performance Evaluation of Java Programming Strategies

Java is one of the most demanding programming languages nowadays and it is used for developing a wide range of software applications including desktop, mobile, embedded, and web applications. Writing efficient Java codes for those various types of applications (which some are critical and time-sensitive) is crucial and recommended best practices that every Java developer should consider. To date, there is a lack of in-depth experimental studies in the literature that evaluate the impact of writing efficient Java programming strategies on the performance of desktop applications in terms of runtime. Thus, this paper aims to perform a variety of experimental tests that have been carefully chosen and implemented to evaluate the most important aspects of desktop efficient Java programming in terms of runtime. The results of this study show that significant performance improvements can be achieved by applying different programming strategies.

An improved Framework for Biometric Database’s privacy

Security and privacy are huge challenges in biometric systems. Biometrics are sensitive data that should be protected from any attacker and especially attackers targeting the confidentiality and integrity of biometric data. In this paper an extensive review of different physiological biometric techniques is provided. A comparative analysis of the various sus mentioned biometrics, including characteristics and properties is conducted. Qualitative and quantitative evaluation of the most relevant physiological biometrics is achieved. Furthermore, we propose a new framework for biometric database privacy. Our approach is based on the use of the promising fully homomorphic encryption technology. As a proof of concept, we establish an initial implementation of our security module using JAVA programming language.

Research on the Transformation of Teaching and Research Form of Professional Teachers in Blended Learning at Colleges and Universities – Taking the Java Programming Course as an Example

In view of the current situation that offline teaching is the main mode of teaching Java Programming in higher vocational schools, this paper introduces the online and offline hybrid teaching method and expounds it from the aspects of blended learning design, teaching organization, and implementation. At the same time, combined with the characteristics of blended learning, this paper proposes that under the new mode, teachers should actively change the form of teaching and research, the teaching mode, and the role of teachers, take students as the center, and build an independent and effective classroom.

LSB-based Audio Steganographical Framework for Securing Data in Transit

The benefits that individuals and organizations derive from the digital era comes with its own challenges. Globally, data has become one of the greatest assets for decision making and operational improvements among businesses, government agencies and even individuals. Data on its own and at its source does not make so much contribution to business processes. Data is transmitted from one location to another towards attainment of its goal as a critical resource in decision making. However, data including sensitive or confidential ones are transmitted via public channels such as the Internet. The data so transmitted via the Internet is vulnerable to interception and unauthorized manipulation. This demands that data in transit is protected from the prying eyes of the malicious internet users. One of such strategies for transmitting data via public channels such as the Internet without attracting attention from intruders is steganography. In this paper, the least significant bit algorithm was used with an audio file for hiding data in transit. The algorithm used in this research proves to be one of the simplest ways of securing data using audio steganography. The method employed the LSB technique by using audio files as the stego object for the final implementation in the Java programming language. The experimental results proved to be one of the best methods of implementing steganography. The accuracy of the stego objects shows high quality, and similarity scores with an improved processing time.  

Effective Online Tools for Teaching Java Programming Course on an Online Platform

Perancangan aplikasi penjualan berbasis android sebagai media pemesanan pada distro online.

Abstrak: Di zaman sekarang ini perusahaan dan bisnis startup berkembang sangat cepat seiring dengan perkembangan zaman, dan dengan perkembangan zaman itu juga, itu hampir setiap masyarakat di era sekarang memiliki perangkat handphone dan sudah dianggap salah satu bagian yang paling penting dalam menjalani kehidupan sehari-hari. Dan sekarang ada banyak juga jenis perusahaan atau bisnis startup yang dapat kita temui, dan salah satu yang paling sering ditemui merupakan jenis startup yang ditargetkan untuk masyarakat pengguna handphone, dan dalam pemasarannya perusahaan dan bisnis startup ini membuat suatu media untuk memudahkan masyarakat dalam mengakses konten yang mereka jual, yaitu dalam bentuk suatu aplikasi berbasis sistem android. Ditambah lagi dengan adanya wabah Covid-19 dan juga kebijakan-kebijakan pemerintah yang membatasi pergerakan masyarakat, aplikasi startup ini sangat membantu dapat menjadi solusi bagi para pengusaha untuk memenuhi penjualan mereka ditengah masa pandemi, serta menyebarluaskan aplikasi Distro supaya lebih dikenal luas oleh masyarakat sehingga berminat untuk menggunakan aplikasi Distro. Beberapa perusahaan dan bisnis kecil yang masih berkembang atau biasa disebut usaha mikro ini sudah mulai mencoba cara- cara baru dalam memasarkan apa yang mereka jual dalam pandemi yang masih terjadi saat ini dan salah satunya membuat aplikasi berbasis sistem android. selain memudahkan penjual memasarkan yang mereka jual, masyarakat yang berperan sebagai pembeli pun dapat dengan mudah mengakses informasi dan melakukan transaksi jual-beli melalui aplikasi tersebut tanpa harus datang ke toko fisik secara langsung. Dan dengan dibuatnya aplikasi ini diharapkan dapat menjadi sebagai contoh untuk bagaiman usaha mikro dalam membuat aplikasi untuk bisnis yang mereka jalani. Berdasarkan uraian di atas, penulis mencoba membuat sebuah rancangan Aplikasi Distro Online Berbasis Android dan sistem Aplikasi Android ini dikembangkan dengan menggunakan metode pengembangan Waterfall, dengan bahasa pemrograman java dan database yang digunakan adalah cPanel.   Kata kunci: android, aplikasi, startup, usaha mikro   Abstract: Startup companies and businesses are growing very quickly along with the times, and with the development of this era, almost every society in this era has a mobile phone and is considered one of the most important parts of everyday life. And now there’s all types of startup companies or businesses that we can find, and one of the most frequently encountered is the type of startup that is targeted at the mobile phone users, and to market what these startup companies and businesses sell, a media platform is created to make it easier for people to access the content that they are provided, namely by forming an app based on the android system. Coupled with the COVID-19 outbreak and also government policies that restrict people's movement, This startup application is very helpful, it can be a solution for entrepreneurs to meet their sales in the midst of a pandemic, as well as disseminate the Distro application so that it is more widely known by the public so that they are interested in using the Distro application. Some companies and small businesses that are still in development or commonly called micro-enterprises have started trying new ways to market what they provided in the current pandemic and one of them is by making applications based on the Android system. In addition to making it easier for sellers to market what they sell, customers can easily access information and made transactions through the application without having to come to a the store directly. And with the creation of this application, it is hoped that it can serve as an example for how micro-enterprises make applications for the businesses they do. Based on the description above, the author tried to create a design of the Android-Based Online Distro Application and the Android Application system was developed using waterfall development methods, with the java programming language and database used is cPanel.   Keywords: android, application, micro business, startup

Export Citation Format

Share document.

Accessibility Links

  • Skip to content
  • Skip to search IOPscience
  • Skip to Journals list
  • Accessibility help
  • Accessibility Help

Click here to close this panel.

Purpose-led Publishing is a coalition of three not-for-profit publishers in the field of physical sciences: AIP Publishing, the American Physical Society and IOP Publishing.

Together, as publishers that will always put purpose above profit, we have defined a set of industry standards that underpin high-quality, ethical scholarly communications.

We are proudly declaring that science is our only shareholder.

Research on Application Value of Computer Software Development in Java Programming Language

Yangyang Jiang 1

Published under licence by IOP Publishing Ltd Journal of Physics: Conference Series , Volume 1648 , Information technology Citation Yangyang Jiang 2020 J. Phys.: Conf. Ser. 1648 032152 DOI 10.1088/1742-6596/1648/3/032152

Article metrics

4115 Total downloads

Share this article

Author e-mails.

[email protected]

Author affiliations

1 Xi'an Medical University, China

Buy this article in print

After the industrial revolution, the level of productivity has greatly improved, and the social economy has developed rapidly. At the same time, science and technology have also made rapid progress under the economic drive. As a product of modern science and technology, the Internet has made an indelible contribution to human society. In this context, the Java programming language based on computer software development has also entered people's field of vision, and has received widespread attention. This article is to briefly introduce some of the origins, characteristics and main applications of the Java programming language in people's production and life.

Export citation and abstract BibTeX RIS

Content from this work may be used under the terms of the Creative Commons Attribution 3.0 licence . Any further distribution of this work must maintain attribution to the author(s) and the title of the work, journal citation and DOI.

The case for Java as a programming language

Ieee account.

  • Change Username/Password
  • Update Address

Purchase Details

  • Payment Options
  • Order History
  • View Purchased Documents

Profile Information

  • Communications Preferences
  • Profession and Education
  • Technical Interests
  • US & Canada: +1 800 678 4333
  • Worldwide: +1 732 981 0060
  • Contact & Support
  • About IEEE Xplore
  • Accessibility
  • Terms of Use
  • Nondiscrimination Policy
  • Privacy & Opting Out of Cookies

A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. © Copyright 2024 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions.

Help | Advanced Search

Computer Science > Software Engineering

Title: an empirical study of kotlin-java interactions.

Abstract: Background: Since Google introduced Kotlin as an official programming language for developing Android apps in 2017, Kotlin has gained widespread adoption in Android development. The interoperability of Java and Kotlin's design nature allows them to coexist and interact with each other smoothly within a project. Aims: However, there is limited research on how Java and Kotlin interact with each other in real-world projects and what challenges are faced during these interactions. The answers to these questions are key to understanding these kinds of cross-language software systems. Methods: In this paper, we implemented a tool named DependExtractor, which can extract 11 kinds of Kotlin-Java dependencies, and conducted an empirical study of 23 Kotlin-Java real-world projects with 3,227 Java and 8,630 Kotlin source files. Results: Our findings revealed that Java and Kotlin frequently interact with each other in these cross-language projects, with access and call dependency types being the most dominant. Compared to files interacting with other files in the same language, Java/Kotlin source files, which participate in the cross-language interactions, undergo more commits. Additionally, among all Kotlin-Java problematic interactions, we identified seven common mistakes, along with their fixing strategies. Conclusions: The findings of this study can help developers understand and address the challenges in Kotlin-Java projects.

Submission history

Access paper:.

  • HTML (experimental)
  • Other Formats

license icon

References & Citations

  • Google Scholar
  • Semantic Scholar

BibTeX formatted citation

BibSonomy logo

Bibliographic and Citation Tools

Code, data and media associated with this article, recommenders and search tools.

  • Institution

arXivLabs: experimental projects with community collaborators

arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.

Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.

Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs .

Academia.edu no longer supports Internet Explorer.

To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to  upgrade your browser .

Enter the email address you signed up with and we'll email you a reset link.

  • We're Hiring!
  • Help Center

paper cover thumbnail

A Survey on Java Programming Language and Methods of Improvisation 1

Profile image of Anisha Mishra

In this paper, I have done the audit of the Java programming language for the students. I will show four models and completely help to students in study. This paper surveys recent research on programming languages and development various models. Enhancements in wherever handling over late conditions has engaged architects to make structures that assistance message in the classroom. Learning includes two methods which are understanding data and changing that learning. We likewise exhibit a different layered Student Model which underpins versatile coaching by gathering the issue particular information state from understudy arrangements. This Research Work is tied in with getting the hang of programming instead of the capable practice. The circumstances are expected for master programming engineers. This paper is an attempt to contemplate how students take in the Java programming Language and make secure use of using it. An understudy in what way can find the weakness of Java application.

  •   We're Hiring!
  •   Help Center
  • Find new research papers in:
  • Health Sciences
  • Earth Sciences
  • Cognitive Science
  • Mathematics
  • Computer Science
  • Academia ©2024

Investigating large language models capabilities for automatic code repair in Python

  • Published: 09 May 2024

Cite this article

java programming language research paper

  • Safwan Omari 1 ,
  • Kshitiz Basnet 1   na1 &
  • Mohammad Wardat 2   na1  

Explore all metrics

Developers often encounter challenges with their introductory programming tasks as part of the development process. Unfortunately, rectifying these mistakes manually can be time-consuming and demanding. Automated program repair (APR) techniques offer a potential solution by synthesizing fixes for such errors. Previous research has investigated the utilization of both symbolic and neural techniques within the APR domain. However, these approaches typically demand significant engineering efforts or extensive datasets and training. In this paper, we explore the potential of using a large language model trained on code, specifically, we assess ChatGPT’s capability to detect and repair bugs in simple Python programs. The experimental evaluation encompasses two benchmarks: QuixBugs and Textbook. Each benchmark consists of simple Python functions that implement well-known algorithms and each function contains a single bug. To gauge repair performance in various settings, several benchmark variations were introduced including addition of plain English documentation and code obfuscation. Based on thorough experiments, we found that ChatGPT was able to correctly detect and fix about 50% of the methods, when code is documented. Repair performance drops to 25% when code is obfuscated, and 15% when documentation is removed and code is obfuscated. Furthermore, when compared to existing APR systems, ChatGPT considerably outperformed them.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price includes VAT (Russian Federation)

Instant access to the full article PDF.

Rent this article via DeepDyve

Institutional subscriptions

java programming language research paper

Data availibility

We provide access to a comprehensive collection of benchmarks sourced from the QuixBugs and Textbook benchmarks, including mutated programs, unit tests, and the evaluation results conducted by ChatGPT, all conveniently hosted on our GitHub repository [ 55 ]. This repository serves as a valuable resource for researchers seeking to replicate our findings and conduct further investigations in the future.

Le Goues, C., Nguyen, T., Forrest, S., Weimer, W.: Genprog: a generic method for automatic software repair. IEEE Trans. Softw. Eng. 38 (1), 54–72 (2011)

Article   Google Scholar  

Yuan, Y., Banzhaf, W.: Arja: automated repair of java programs via multi-objective genetic programming. IEEE Trans. Softw. Eng. 46 (10), 1040–1067 (2018)

Kim, D., Nam, J., Song, J., Kim, S.: Automatic patch generation learned from human-written patches. In: 2013 35th International Conference on Software Engineering (ICSE), pp. 802–811. IEEE (2013)

Saha, R.K., Lyu, Y., Yoshida, H., Prasad, M.R.: Elixir: effective object-oriented program repair. In: 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 648–659. IEEE (2017)

Liu, K., Koyuncu, A., Kim, D., Bissyandé, T.F.: Tbar: Revisiting template-based automated program repair. In: Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 31–42 (2019)

Xin, Q., Reiss, S.P.: Leveraging syntax-related code for automated program repair. In: 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 660–670. IEEE (2017)

Liu, K., Koyuncu, A., Kim, K., Kim, D., Bissyandé, T.F.: LSRepair: Live search of fix ingredients for automated program repair. In 2018 25th Asia-Pacific Software Engineering Conference (APSEC). IEEE (2018)

Chen, Z., Kommrusch, S., Tufano, M., Pouchet, L.-N., Poshyvanyk, D., Monperrus, M.: Sequencer: sequence-to-sequence learning for end-to-end program repair. IEEE Trans. Softw. Eng. 47 (9), 1943–1959 (2019)

Google Scholar  

Dinella, E., Dai, H., Li, Z., Naik, M., Song, L., Wang, K.: Hoppity: learning graph transformations to detect and fix bugs in programs. In: International Conference on Learning Representations (ICLR) (2020)

Lutellier, T., Pham, H.V., Pang, L., Li, Y., Wei, M., Tan, L.: Coconut: combining context-aware neural translation models using ensemble for program repair. In: Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 101–114 (2020)

Jiang, N., Lutellier, T., Tan, L.: Cure: code-aware neural machine translation for automatic program repair. In: 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE), pp. 1161–1173. IEEE (2021)

IEEE Spectrum’s the Top Programming Languages. https://spectrum.ieee.org/top-programming-languages (2021)

Oh, W., Oh, H.: Pyter: effective program repair for python type errors. In: Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 922–934 (2022)

Chipman, H.A., George, E.I., McCulloch, R.E.: Bart: Bayesian additive regression trees (2010)

Devlin, J., Chang, M.-W., Lee, K., Toutanova, K.: Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805 (2018)

Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., Zhou, Y., Li, W., Liu, P.J.: Exploring the limits of transfer learning with a unified text-to-text transformer. J. Mach. Learn. Res. 21 (1), 5485–5551 (2020)

MathSciNet   Google Scholar  

Chatgpt: Optimizing language models for dialogue. https://openai.com/blog/chatgpt (2023)

Tian, H., Lu, W., Li, T.O., Tang, X., Cheung, S.-C., Klein, J., Bissyandé, T.F.: Is chatgpt the ultimate programming assistant—how far is it? arXiv preprint arXiv:2304.11938 (2023)

Cao, Y., Li, S., Liu, Y., Yan, Z., Dai, Y., Yu, P.S., Sun, L.: A comprehensive survey of ai-generated content (aigc): a history of generative ai from gan to chatgpt. arXiv preprint arXiv:2303.04226 (2023)

Buscemi, A.: A comparative study of code generation using chatgpt 3.5 across 10 programming languages. arXiv preprint arXiv:2308.04477 (2023)

Yuan, Z., Lou, Y., Liu, M., Ding, S., Wang, K., Chen, Y., Peng, X.: No more manual tests? Evaluating and improving chatgpt for unit test generation. arXiv preprint arXiv:2305.04207 (2023)

Sakib, F.A., Khan, S.H., Karim, A.: Extending the frontier of chatgpt: code generation and debugging. arXiv preprint arXiv:2307.08260 (2023)

Goodrich, M.T., Tamassia, R., Goldwasser, M.H.: Data Structures and Algorithms in Python, 1st edn. Wiley Publishing, Hoboken (2013)

Lin, D., Koppel, J., Chen, A., Solar-Lezama, A.: Quixbugs: a multi-lingual program repair benchmark set based on the quixey challenge. In: SPLASH Companion 2017: Proceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, pp. 55–56 (2017). https://doi.org/10.1145/3135932.3135941

Misu, M.R.H., Lopes, C.V., Ma, I., Noble, J.: Towards ai-assisted synthesis of verified dafny methods. arXiv preprint arXiv:2402.00247 (2024)

Wu, T., He, S., Liu, J., Sun, S., Liu, K., Han, Q.-L., Tang, Y.: A brief overview of chatgpt: the history, status quo and potential future development. IEEE/CAA J. Autom. Sin. 10 (5), 1122–1136 (2023)

Kasneci, E., Seßler, K., Küchemann, S., Bannert, M., Dementieva, D., Fischer, F., Gasser, U., Groh, G., Günnemann, S., Hüllermeier, E., et al.: Chatgpt for good? On opportunities and challenges of large language models for education. Learn. Individ. Differ. 103 , 102274 (2023)

Zhang, Q., Fang, C., Ma, Y., Sun, W., Chen, Z.: A survey of learning-based automated program repair. arXiv preprint arXiv:2301.03270 (2023)

Jiang, J., Xiong, Y., Zhang, H., Gao, Q., Chen, X.: Shaping program repair space with existing patches and similar code. In: Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 298–309 (2018)

Li, Y., Wang, S., Nguyen, T.N.: Dlfix: Context-based code transformation learning for automated program repair. In: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, pp. 602–614 (2020)

Long, F., Rinard, M.: Automatic patch generation by learning correct code. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 298–312 (2016)

Tufano, M., Watson, C., Bavota, G., Penta, M.D., White, M., Poshyvanyk, D.: An empirical study on learning bug-fixing patches in the wild via neural machine translation. ACM Trans. Softw. Eng. Methodol. (TOSEM) 28 (4), 1–29 (2019)

Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A., Kaiser, Ł., Polosukhin, I.: Attention is all you need. In: Advances in Neural Information Processing Systems 30 (nips 2017) (2017)

Zhang, Q., Fang, C., Yu, B., Sun, W., Zhang, T., Chen, Z.: Pre-trained model-based automated software vulnerability repair: how far are we? IEEE Trans. Dependable Secur. Comput. (2023)

Bahdanau, D., Cho, K., Bengio, Y.: Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473 (2014)

Lund, B.D., Wang, T.: Chatting about chatgpt: how may ai and gpt impact academia and libraries? Libr. Hi Tech News 40 (3), 26–29 (2023)

Radford, A., Narasimhan, K., Salimans, T., Sutskever, I., et al.: Improving language understanding by generative pre-training (2018)

Budzianowski, P., Vulić, I.: Hello, it’s gpt-2–how can i help you? towards the use of pretrained language models for task-oriented dialogue systems. arXiv preprint arXiv:1907.05774 (2019)

Rahaman, M.S., Ahsan, M.T., Anjum, N., Terano, H.J.R., Rahman, M.M.: From chatgpt-3 to gpt-4: a significant advancement in ai-driven nlp tools. J. Eng. Emerg. Technol. 2 (1), 1–11 (2023)

Prenner, J.A., Robbes, R.: Automatic program repair with openai’s codex: evaluating quixbugs. arXiv preprint arXiv:2111.03922 (2021)

Chen, M., Tworek, J., Jun, H., Yuan, Q., Pinto, H.P.d.O., Kaplan, J., Edwards, H., Burda, Y., Joseph, N., Brockman, G., et al.: Evaluating large language models trained on code. arXiv preprint arXiv:2107.03374 (2021)

Drain, D., Clement, C.B., Serrato, G., Sundaresan, N.: Deepdebug: Fixing python bugs using stack traces, backtranslation, and code skeletons. arXiv preprint arXiv:2105.09352 (2021)

Sobania, D., Briesch, M., Hanna, C., Petke, J.: An analysis of the automatic bug fixing performance of chatgpt. arXiv preprint arXiv:2301.08653 (2023)

Paul, R., Hossain, M.M., Siddiq, M.L., Hasan, M., Iqbal, A., Santos, J.C.: Enhancing automated program repair through fine-tuning and prompt engineering. arXiv preprint arXiv:2304.07840 (2023)

Wuisang, M.C., Kurniawan, M., Wira Santosa, K.A., Agung Santoso Gunawan, A., Saputra, K.E.: An evaluation of the effectiveness of openai’s chatgpt for automated python program bug fixing using quixbugs. In: 2023 International Seminar on Application for Technology of Information and Communication (iSemantic), pp. 295–300 (2023). https://doi.org/10.1109/iSemantic59612.2023.10295323

Zhang, Q., Zhang, T., Zhai, J., Fang, C., Yu, B., Sun, W., Chen, Z.: A critical review of large language model on software engineering: an example from chatgpt and automated program repair. arXiv preprint arXiv:2310.08879 (2023)

Lin, D., Koppel, J., Chen, A., Solar-Lezama, A.: Quixbugs: a multi-lingual program repair benchmark set based on the quixey challenge. In: Proceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, pp. 55–56 (2017)

Ye, H., Martinez, M., Durieux, T., Monperrus, M.: A comprehensive study of automatic program repair on the quixbugs benchmark. J. Syst. Softw. 171 , 110825 (2021). https://doi.org/10.1016/j.jss.2020.110825

McCabe, T.: A complexity measure. IEEE Trans. Softw. Eng. 2 , 308–320 (1976)

Article   MathSciNet   Google Scholar  

Radon: a Python tool that computes various metrics from the source code. https://pypi.org/project/radon/ (2023)

Michael, T.G., Roberto, T., Michael, H.G., et al.: Data Structures and Algorithms in Python. Wiley, New York (2014)

MutPy: Mutation testing tool for Python 3.x source code. https://pypi.org/project/MutPy/0.6.1/ (2019)

Durieux, T., Monperrus, M.: Dynamoth: dynamic code synthesis for automatic program repair. In: Proceedings of the 11th International Workshop on Automation of Software Test, pp. 85–91 (2016)

Martinez, M., Monperrus, M.: Ultra-large repair search space with automatically mined templates: the cardumen mode of astor. In: Search-Based Software Engineering: 10th International Symposium, SSBSE 2018, Montpellier, France, September 8–9, 2018, Proceedings 10, pp. 65–86. Springer (2018)

Omari, S., Wardat, M., Basnet, K.: ChatGPTResearch. https://github.com/KshitizBasnet2021/ChatGPTResearch (2023)

Download references

The authors have not disclosed any funding

Author information

Kshitiz Basnet and Mohammad Wardat contributed equally to this work.

Authors and Affiliations

Department of Engineering, Computing and Mathematical Sciences, Lewis University, Romeoville, IL, 60446, USA

Safwan Omari & Kshitiz Basnet

Department of Computer Science and Engineering, Oakland University, Rochester, MI, 48309, USA

Mohammad Wardat

You can also search for this author in PubMed   Google Scholar

Contributions

SO authored the introduction and approach sections and led the discussion of the results. MW contributed to the analysis of experimental results, expanded the related work section, provided insights into APR and LLMs in the background section, and meticulously proofread the paper. KB undertook data pre-processing experimental execution, generated the approach figure, and conducted a comparative analysis of the results. All authors critically reviewed and approved the manuscript.

Corresponding author

Correspondence to Safwan Omari .

Ethics declarations

Competing interest.

The authors declare no competing interests.

Additional information

Publisher's note.

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Omari, S., Basnet, K. & Wardat, M. Investigating large language models capabilities for automatic code repair in Python. Cluster Comput (2024). https://doi.org/10.1007/s10586-024-04490-8

Download citation

Received : 21 February 2024

Revised : 21 February 2024

Accepted : 29 March 2024

Published : 09 May 2024

DOI : https://doi.org/10.1007/s10586-024-04490-8

Share this article

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

  • Automatic program repair
  • Large language models
  • Bug detection
  • Find a journal
  • Publish with us
  • Track your research

COMMENTS

  1. (PDF) A Review on Java Programming Language

    Java is a general-purpose programming language designed to enable programmers. to write code that is universally compatible and can be executed on multiple platforms without. requiring any ...

  2. java programming Latest Research Papers

    Object Relational . Communication Methods. The research subject of this paper was the comparative analysis of efficiency of connections with databases using different communication methods based on Java programming language. The tools investigated included JDBC drivers and Object-relational mapping (ORM) frameworks.

  3. Java in real-time applications

    This paper addresses the use of the Java programming language for real-time applications, giving an overview of its main advantages and current limitations. Java can implement at language level several of the constructs defined by the POSIX1.b standard for real-time applications. However, if Java is to realise its potential in this field, appropriate additions to the language will need to be ...

  4. A comprehensive review of State-of-The-Art methods for Java code

    Programming language generation presents more challenges than standard natural language generation. For instance, (1) the neural network should be able to correctly understand instructions in natural language to generate a corresponding correct source code, (2) the latter has lexical, grammatical, and semantic constraints (Wang et al., 2021, Scholak et al., 2021) that should be taken into ...

  5. An Analysis of Java Programming Behaviors, Affect, Perceptions, and

    An Analysis of Java Programming Behaviors, Affect, Perceptions, and Syntax Errors among Low-Achieving, Average, and High-Achieving Novice Programmers ... Proceedings of the 10th ACM SIGACT-SIGPLAN Syposium on Principles of Programming Languages ... Proceedings of the 2006 International Workshop on Computing Education Research - ICER '06 (p. 59).

  6. PDF 6 Java as a systems programming language: three case studies

    6 Java as a systems programming language: three case studies. 1. M. Bishop University of Pretoria Computer Science Department, Pretoria 0002, South Africa E-mail: [email protected]. Abstract. Java is the newest in a long line of systems programming languages. This paper looks at what makes it special and backs the findings up with three case ...

  7. Java in the High Performance Computing arena: Research, practice and

    Highlights Java is an emerging option for High Performance Computing on multi-core clusters. Java can achieve almost similar performance to natively compiled languages. Current state of Java for HPC, both for shared and distributed memory programming. Performance evaluation of Java message-passing and Java threads on multi-core clusters. Java is an alternative to HPC programming as it obtains ...

  8. Research on Application Value of Computer Software Development in Java

    In this context, the Java programming language based on computer software development has also entered people's field of vision, and has received widespread attention. This article is to briefly introduce some of the origins, characteristics and main applications of the Java programming language in people's production and life.

  9. A large-scale study on the usage of Java's concurrent programming

    The Java programming language is particularly rich when it comes to concurrent programming constructs. For example, it includes the concept of monitor, a low-level mechanism supporting both mutual exclusion and ... This section discusses related research. Conclusion. This paper presents an empirical study into a large-scale Java open source ...

  10. Analysis of Students' learning of computer programming in a computer

    As an example, we may think of a method that prints information on the computer screen. In the programming language Java that the students in our example worked with, the key word void is used to indicate that a method does not return a value. Finally, during the lab session our students had two different 'windows' open on the computer screen.

  11. The case for Java as a programming language

    Java code is organised around objects and classes rather than just functions, which enables the reuse of code in a very structured manner. Although Java syntax is similar to C++, it has not suffered from feature overload and is much less complex. In addition, some Java features, like garbage collection, are not entirely new but were pioneered by languages such as Lisp and Smalltalk. The paper ...

  12. PDF Introduction to Programming in Java

    ISBN 978--321-49805-2 (alk. paper) 1. Java (Computer program language) 2. Computer programming. I. Wayne, Kevin Daniel, 1971- II. Title. QA76.73.J38S413 2007 005.13'3--dc22 ... we refer to Java after programming in the title to emphasize the idea that the book is about fundamental concepts in programming, not Java per se. This book teaches ...

  13. [PDF] The Java Language: A White Paper

    The Java Language: A White Paper. The Java. Published 2010. Computer Science, Engineering. TLDR. The Java programming language and environment is designed to solve a number of problems in modern programming practice, but as time passed it encountered a set of problems that were best solved by changing the language. Expand.

  14. [2405.04602] An Empirical Study of Kotlin-Java Interactions

    Background: Since Google introduced Kotlin as an official programming language for developing Android apps in 2017, Kotlin has gained widespread adoption in Android development. The interoperability of Java and Kotlin's design nature allows them to coexist and interact with each other smoothly within a project. Aims: However, there is limited research on how Java and Kotlin interact with each ...

  15. Java Programming Language

    The Java programming language was developed by Sun Microsystems in the early 1990s. Although it is primarily used for Internet-based applications, Java is a simple, efficient, general-purpose language. Java was originally designed for embedded network applications running on multiple platforms. It is a portable, object-oriented, interpreted ...

  16. (PDF) A Survey on Java Programming Language and Methods of

    This paper surveys recent research on programming languages and development various models. In this paper, I have done the audit of the Java programming language for the students. I will show four models and completely help to students in study. This paper surveys recent research on programming languages and development various models.

  17. PDF A Survey On Java Programming Language And Methods Of Improvisation

    Abstract- In this research paper, we have done the analysis of the Java programming language for the Students, Developers. We will show fourmodels and completely help to Students, Developers in study. This paper surveys recent research on programming languages and coding various models. Enhancements in wherever

  18. PDF Vol. 4, Special Issue 4, January 2017 Research Paper on Java

    Research Paper on Java Interactional Development Environment Programming Tool Prof. B.A. Jadhawar1, Komal A. Bhosale2 Professor, Computer Science & Engg, DACOE, Karad, India 1 Student, Computer Science & Engg, DACOE, Karad, India 2 Abstract: Java language is become very popular and research project deal with improvement of the language or its run

  19. Investigating large language models capabilities for automatic code

    Developers often encounter challenges with their introductory programming tasks as part of the development process. Unfortunately, rectifying these mistakes manually can be time-consuming and demanding. Automated program repair (APR) techniques offer a potential solution by synthesizing fixes for such errors. Previous research has investigated the utilization of both symbolic and neural ...