176 lines
14 KiB
BibTeX
176 lines
14 KiB
BibTeX
|
||
@incollection{escalona_open_2019,
|
||
address = {Cham},
|
||
title = {An {Open} {Source} {Approach} for {Modernizing} {Message}-{Processing} and {Transactional} {COBOL} {Applications} by {Integration} in {Java} {EE} {Application} {Servers}},
|
||
volume = {372},
|
||
isbn = {978-3-030-35329-2 978-3-030-35330-8},
|
||
url = {http://link.springer.com/10.1007/978-3-030-35330-8_12},
|
||
language = {en},
|
||
urldate = {2025-09-02},
|
||
booktitle = {Web {Information} {Systems} and {Technologies}},
|
||
publisher = {Springer International Publishing},
|
||
author = {Brune, Philipp},
|
||
editor = {Escalona, María José and Domínguez Mayo, Francisco and Majchrzak, Tim A. and Monfort, Valérie},
|
||
year = {2019},
|
||
doi = {10.1007/978-3-030-35330-8_12},
|
||
note = {Series Title: Lecture Notes in Business Information Processing},
|
||
pages = {244--261},
|
||
}
|
||
|
||
@book{wendt_cobol_1991,
|
||
address = {Wiesbaden},
|
||
title = {{COBOL}},
|
||
copyright = {http://www.springer.com/tdm},
|
||
isbn = {978-3-409-19726-7 978-3-322-87615-7},
|
||
url = {http://link.springer.com/10.1007/978-3-322-87615-7},
|
||
language = {de},
|
||
urldate = {2025-09-02},
|
||
publisher = {Gabler Verlag},
|
||
author = {Wendt, Joachim},
|
||
year = {1991},
|
||
doi = {10.1007/978-3-322-87615-7},
|
||
keywords = {Algorithmen, Betriebswirtschaft, COBOL, Compiler, Datenverarbeitung, Debugging, Funktionen, Graphen, Maschinensprache, Programmentwicklung, Programmiersprache, Programmierung, Selektion, Suche, Windows},
|
||
file = {Full Text PDF:C\:\\Users\\mujdrica\\Zotero\\storage\\NLKVU7AV\\Wendt - 1991 - COBOL.pdf:application/pdf},
|
||
}
|
||
|
||
@book{coughlan_beginning_2014,
|
||
address = {Berkeley, CA},
|
||
title = {Beginning {COBOL} for {Programmers}},
|
||
copyright = {http://www.springer.com/tdm},
|
||
isbn = {978-1-4302-6253-4 978-1-4302-6254-1},
|
||
url = {http://link.springer.com/10.1007/978-1-4302-6254-1},
|
||
language = {en},
|
||
urldate = {2025-09-02},
|
||
publisher = {Apress},
|
||
author = {Coughlan, Michael},
|
||
year = {2014},
|
||
doi = {10.1007/978-1-4302-6254-1},
|
||
file = {Full Text PDF:C\:\\Users\\mujdrica\\Zotero\\storage\\9J98MS66\\Coughlan - 2014 - Beginning COBOL for Programmers.pdf:application/pdf},
|
||
}
|
||
|
||
@article{lano_agile_2024,
|
||
title = {Agile model-driven re-engineering},
|
||
volume = {20},
|
||
issn = {1614-5046, 1614-5054},
|
||
url = {https://link.springer.com/10.1007/s11334-024-00568-z},
|
||
doi = {10.1007/s11334-024-00568-z},
|
||
abstract = {Abstract
|
||
In this paper we describe an Agile model-driven engineering (MDE) approach, AMDRE, for the re-engineering of legacy systems. The objective is to support the reuse of business-critical functionality from such systems and the porting of legacy code to modernised platforms, together with technical debt reduction to improve the system maintainability and extend its useful life. AMDRE uses a lightweight MDE process which involves the automated abstraction of software systems to UML specifications and the interactive application of refactoring and rearchitecting transformations to remove quality flaws and architectural flaws. We demonstrate the approach on Visual Basic, COBOL and Python legacy codes, including a finance industry case. Significant quality improvements are achieved, and translation accuracy over 80\% is demonstrated. In comparison to other MDE re-engineering approaches, AMDRE does not require high MDE skills and should be usable by mainstream software practitioners.},
|
||
language = {en},
|
||
number = {4},
|
||
urldate = {2025-09-02},
|
||
journal = {Innovations in Systems and Software Engineering},
|
||
author = {Lano, Kevin and Haughton, Howard and Yuan, Ziwen and Alfraihi, Hessa},
|
||
month = dec,
|
||
year = {2024},
|
||
pages = {559--584},
|
||
file = {Full Text:C\:\\Users\\mujdrica\\Zotero\\storage\\I9X9GXIA\\Lano et al. - 2024 - Agile model-driven re-engineering.pdf:application/pdf},
|
||
}
|
||
|
||
@article{petrulio_indolent_2021,
|
||
title = {The indolent lambdification of {Java}: {Understanding} the support for lambda expressions in the {Java} ecosystem},
|
||
volume = {26},
|
||
issn = {1382-3256, 1573-7616},
|
||
shorttitle = {The indolent lambdification of {Java}},
|
||
url = {https://link.springer.com/10.1007/s10664-021-10039-9},
|
||
doi = {10.1007/s10664-021-10039-9},
|
||
abstract = {Abstract
|
||
As Java 8 introduced functional interfaces and lambda expressions to the Java programming language, the JDK API was changed to introduce support for lambda expressions, thus allowing consumers to define lambda functions when using Java’s collections. While the JDK API allows for a functional paradigm, for API consumers to be able to completely embrace Java’s new functional features, third-party APIs must also support lambda expressions. To understand the current state of the Java ecosystem, we investigate (i) the extent to which third-party Java APIs have changed their interfaces, (ii) why or why not they introduce functional interface support and (iii) in the case the API has changed its interface how it does so. We also investigate the consumers’ perspective, particularly their ease in using lambda expressions in Java with APIs. We perform our investigation by manually analyzing the top 50 popular Java APIs, conducting in-person and email interviews with 23 API producers, and surveying 110 developers. We find that only a minority of the top 50 APIs support functional interfaces, the rest does not support them, predominantly in the interest of backward compatibility. Java 7 support is still greatly desirable due to enterprise projects not migrating to newer versions of Java. This suggests that the Java ecosystem is stagnant and that the introduction of new language features will not be enough to save it from the advent of new languages such as Kotlin (JVM based) and Rust (non-JVM based).},
|
||
language = {en},
|
||
number = {6},
|
||
urldate = {2025-09-02},
|
||
journal = {Empirical Software Engineering},
|
||
author = {Petrulio, Fernando and Sawant, Anand Ashok and Bacchelli, Alberto},
|
||
month = nov,
|
||
year = {2021},
|
||
pages = {134},
|
||
file = {Full Text:C\:\\Users\\mujdrica\\Zotero\\storage\\GGRBSV58\\Petrulio et al. - 2021 - The indolent lambdification of Java Understanding the support for lambda expressions in the Java ec.pdf:application/pdf},
|
||
}
|
||
|
||
@inproceedings{hans_automated_2025,
|
||
address = {Clarion Hotel Trondheim Trondheim Norway},
|
||
title = {Automated {Testing} of {COBOL} to {Java} {Transformation}},
|
||
isbn = {979-8-4007-1276-0},
|
||
url = {https://dl.acm.org/doi/10.1145/3696630.3728548},
|
||
doi = {10.1145/3696630.3728548},
|
||
language = {en},
|
||
urldate = {2025-09-02},
|
||
booktitle = {Proceedings of the 33rd {ACM} {International} {Conference} on the {Foundations} of {Software} {Engineering}},
|
||
publisher = {ACM},
|
||
author = {Hans, Sandeep and Kumar, Atul and Yasue, Toshiaki and Ono, Kouichi and Krishnan, Saravanan and Sondhi, Devika and Satoh, Fumiko and Mitchell, Gerald and Kumar, Sachin and Saha, Diptikalyan},
|
||
month = jun,
|
||
year = {2025},
|
||
pages = {227--237},
|
||
}
|
||
|
||
@inproceedings{gandhi_translation_2024,
|
||
title = {Translation of {Low}-{Resource} {COBOL} to {Logically} {Correct} and {Readable} {Java} leveraging {High}-{Resource} {Java} {Refinement}},
|
||
url = {https://ieeexplore.ieee.org/document/10734649},
|
||
abstract = {Automated translation of legacy code to modern programming languages is the need of the hour for modernizing enterprise systems. This work specifically addresses automated COBOL to Java translation. Traditional rule-based tools for this perform statement-wise translation, overlooking possible modularization and refactoring of the source COBOL code to translate to human-readable target Java code. Our investigation reveals that state-of-the-art Large Language Models (LLMs) in the domain of code encounter difficulties with regard to logical correctness and readability when directly translating low-resource COBOL code to Java. To address these challenges, we propose an LLM-based workflow, leveraging temperature sampling and refinement-based strategies, to not only ensure logical correctness of the translation but also maximize the readability of the target Java code. We exploit the fact that, due to their extensive exposure to human-written Java codes during pre-training, the LLMs are more equipped with profound comprehension and capability for refining translated Java codes than COBOL to Java translation. With a dataset sourced from CodeNet, we perform sequential refinement of the translated high-resource Java code with execution-guided logic feedback followed by LLM-based readability feedback. We demonstrate that this yields better performance in terms of logical correctness (81.99\% execution accuracy) and readability (0.610 score), than LLM based translation with test cases and readability guidance (60.25\% and 0.539) or refinement of the translation task itself (77.95\% and 0.572).CCS CONCEPTS• Computing methodologies → Machine translation; Neural networks; • Software and its engineering → Software evolution; Maintaining software.},
|
||
urldate = {2025-09-02},
|
||
booktitle = {2024 {IEEE}/{ACM} {International} {Workshop} on {Large} {Language} {Models} for {Code} ({LLM4Code})},
|
||
author = {Gandhi, Shubham and Patwardhan, Manasi and Khatri, Jyotsana and Vig, Lovekesh and Medicherla, Raveendra Kumar},
|
||
month = apr,
|
||
year = {2024},
|
||
keywords = {Accuracy, Code Readability, Code Translation, Codes, Java, Large language models, Large Language Models, Logic, Low Resource Programming Languages, Machine translation, Neural networks, Programming, Refining, Self-Refinement, Software},
|
||
pages = {46--53},
|
||
file = {Snapshot:C\:\\Users\\mujdrica\\Zotero\\storage\\HJVVTKWX\\10734649.html:text/html},
|
||
}
|
||
|
||
@inproceedings{suganuma_performance_2008,
|
||
address = {Nashville TN USA},
|
||
title = {Performance pitfalls in large-scale java applications translated from {COBOL}},
|
||
isbn = {978-1-60558-220-7},
|
||
url = {https://dl.acm.org/doi/10.1145/1449814.1449822},
|
||
doi = {10.1145/1449814.1449822},
|
||
language = {en},
|
||
urldate = {2025-09-02},
|
||
booktitle = {Companion to the 23rd {ACM} {SIGPLAN} conference on {Object}-oriented programming systems languages and applications},
|
||
publisher = {ACM},
|
||
author = {Suganuma, Toshio and Yasue, Toshiaki and Onodera, Tamiya and Nakatani, Toshio},
|
||
month = oct,
|
||
year = {2008},
|
||
pages = {685--696},
|
||
}
|
||
|
||
@misc{ali_x-cobol_2023,
|
||
title = {X-{COBOL}: {A} {Dataset} of {COBOL} {Repositories}},
|
||
copyright = {Creative Commons Attribution Non Commercial Share Alike 4.0 International},
|
||
shorttitle = {X-{COBOL}},
|
||
url = {https://arxiv.org/abs/2306.04892},
|
||
doi = {10.48550/ARXIV.2306.04892},
|
||
abstract = {Despite being proposed as early as 1959, COBOL (Common Business-Oriented Language) still predominantly acts as an integral part of the majority of operations of several financial, banking, and governmental organizations. To support the inevitable modernization and maintenance of legacy systems written in COBOL, it is essential for organizations, researchers, and developers to understand the nature and source code of COBOL programs. However, to the best of our knowledge, we are unaware of any dataset that provides data on COBOL software projects, motivating the need for the dataset. Thus, to aid empirical research on comprehending COBOL in open-source repositories, we constructed a dataset of 84 COBOL repositories mined from GitHub, containing rich metadata on the development cycle of the projects. We envision that researchers can utilize our dataset to study COBOL projects' evolution, code properties and develop tools to support their development. Our dataset also provides 1255 COBOL files present inside the mined repositories. The dataset and artifacts are available at https://doi.org/10.5281/zenodo.7968845.},
|
||
urldate = {2025-09-02},
|
||
publisher = {arXiv},
|
||
author = {Ali, Mir Sameed and Manjunath, Nikhil and Chimalakonda, Sridhar},
|
||
year = {2023},
|
||
note = {Version Number: 1},
|
||
keywords = {D.2.6; D.3, FOS: Computer and information sciences, Programming Languages (cs.PL), Software Engineering (cs.SE)},
|
||
annote = {Other
|
||
5 pages},
|
||
}
|
||
|
||
@inproceedings{erdmenger_translator_2011,
|
||
title = {Ein {Translator} für die {COBOL}-{Java}-{Migration}},
|
||
url = {https://dl.gi.de/handle/20.500.12116/40991},
|
||
abstract = {In [1] wurden von pro et con bereits erste Ansätze der Migration von COBOL nach Java dargestellt. Nach dem erfolgreichen Abschluss des Projektes SOAMIG1 sollen in diesem Beitrag die Ergebnisse im Bereich der COBOLMigration vorgestellt werden. Neben einem Überblick über das entstandene Werkzeug CoJaC (COBOL to Java Converter) sollen dabei die Migration der Schnittstellen eines COBOL-Programms und eine differenzierte Betrachtung des generierten Java-Codes bezüglich seiner Wartbarkeit und Qualität im Vordergrund stehen.},
|
||
language = {de},
|
||
urldate = {2025-09-02},
|
||
publisher = {Geselllschaft für Informatik e.V.},
|
||
author = {Erdmenger, Uwe and Uhlig, Denis},
|
||
year = {2011},
|
||
file = {Full Text PDF:C\:\\Users\\mujdrica\\Zotero\\storage\\HKNDUGFB\\Erdmenger and Uhlig - 2011 - Ein Translator für die COBOL-Java-Migration.pdf:application/pdf},
|
||
}
|
||
|
||
@book{tsui_essentials_2022,
|
||
title = {Essentials of {Software} {Engineering}},
|
||
isbn = {978-1-284-22899-1},
|
||
abstract = {Written for the undergraduate, 1-term course, Essentials of Software Engineering provides students with a systematic engineering approach to software engineering principles and methodologies. Comprehensive yet concise, the new edition covers some of the latest improvements in technology and tools, while reducing areas that are becoming less relevant. In-depth coverage of key issues, combined with a strong focus on software quality, makes Essentials of Software Engineering the perfect text for students entering the fast-growing and lucrative field of software development. The text includes thorough overviews of programming concepts, system analysis and design, principles of software engineering, development and support processes, methodologies, software testing, quality assurance, and product management, while incorporating real-world examples throughout. Presents a broad coverage of the software engineering field that lends itself well to an introductory course. Clearly differentiates and explains software engineering from the subtopics of software processes, software development, and software management. Expanded coverage of continuous integration and Agile methodologies. New coverage of contemporary design and development ideas, including SOA, microservices, virtualization, and containerization. © 2023 {\textbar} 332 pages},
|
||
language = {en},
|
||
publisher = {Jones \& Bartlett Learning},
|
||
author = {Tsui, Frank and Karam, Orlando and Bernal, Barbara},
|
||
month = jan,
|
||
year = {2022},
|
||
note = {Google-Books-ID: lN9XEAAAQBAJ},
|
||
keywords = {Computers / Programming / General, Computers / Security / Network Security, Computers / Software Development \& Engineering / General, Mathematics / General},
|
||
} |