806 research outputs found
Developing Legacy System Migration Methods and Tools for Technology Transfer
This paper presents the research results of an ongoing technology transfer project carried out in coopera- tion between the University of Salerno and a small software company. The project is aimed at developing and transferring migration technology to the industrial partner. The partner should be enabled to migrate monolithic multi-user COBOL legacy systems to a multi-tier Web-based architecture. The assessment of the legacy systems of the partner company revealed that these systems had a very low level of decompos- ability with spaghetti-like code and embedded control flow and database accesses within the user interface descriptions. For this reason, it was decided to adopt an incremental migration strategy based on the reengineering of the user interface using Web technology, on the transformation of interactive legacy programs into batch programs, and the wrapping of the legacy programs. A middleware framework links the new Web-based user interface with the Wrapped Legacy System. An Eclipse plug-in, named MELIS (migration environment for legacy information systems), was also developed to support the migration process. Both the migration strategy and the tool have been applied to two essential subsystems of the most business critical legacy system of the partner company
Agile model-driven re-engineering
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
30 Years of Software Refactoring Research:A Systematic Literature Review
Due to the growing complexity of software systems, there has been a dramatic
increase and industry demand for tools and techniques on software refactoring
in the last ten years, defined traditionally as a set of program
transformations intended to improve the system design while preserving the
behavior. Refactoring studies are expanded beyond code-level restructuring to
be applied at different levels (architecture, model, requirements, etc.),
adopted in many domains beyond the object-oriented paradigm (cloud computing,
mobile, web, etc.), used in industrial settings and considered objectives
beyond improving the design to include other non-functional requirements (e.g.,
improve performance, security, etc.). Thus, challenges to be addressed by
refactoring work are, nowadays, beyond code transformation to include, but not
limited to, scheduling the opportune time to carry refactoring, recommendations
of specific refactoring activities, detection of refactoring opportunities, and
testing the correctness of applied refactorings. Therefore, the refactoring
research efforts are fragmented over several research communities, various
domains, and objectives. To structure the field and existing research results,
this paper provides a systematic literature review and analyzes the results of
3183 research papers on refactoring covering the last three decades to offer
the most scalable and comprehensive literature review of existing refactoring
research studies. Based on this survey, we created a taxonomy to classify the
existing research, identified research trends, and highlighted gaps in the
literature and avenues for further research.Comment: 23 page
Development of a model for the migration of legacy architectures
Diese Arbeit beschäftigt sich mit der Erstellung eines holistischen Modells für Migrationen von Alt(last)systemen in der IT. Dafür ist es notwendig zuerst festzustellen was sogenannte Legacy Systeme überhaupt ausmacht und welche Probleme diese mit sich bringen. Danach werden bestehende Migrationsarten und -vorgehensweisen erörtert und aufgezeigt welche Architekturen und Trends momentan auf dem Markt vorhanden sind. Um die im letzten Abschnitt der Arbeit vorgeschlagene Migrationsstrategie zu unterstützen werden Methoden zur Risikokontrolle, zur Einbeziehung von Stakeholdern und zur wirtschaftlichen Begründbarkeit eingeführt. Schließlich werden der Referenzprozess ReMiP und TOGAF als Framework für Enterprise Architecture vorgestellt und eine Kombination der beiden vorgeschlagen und in einem Referenzmodell beschrieben. Die erwarteten Vorteile durch die in dieser Arbeit diskutierte kombinierte Anwendung werden von einem externen Experten aus dem Arbeitsfeld von IT Migrationen nach ihrer Anwendbarkeit beurteilt.This paper is proposing a holistic process model for the migration of legacy infrastructures. To achieve this objective it is therefore necessary to investigate and define what legacy architectures and their related problems are. After that the established migration approaches to address the legacy challenge and an overview of current and ongoing architectures and trends form a broad enough headstone to then go on discussing which methodologies and means are available to facilitate a smooth migration. These are spanning from the human factor via risk control to economic matters related to system transformation projects. Finally the migration reference process ReMiP and the enterprise architecture framework TOGAF are introduced and combined to consolidate the presented approaches. The closing chapters compare the expected benefits with the requirements of a practitioner, propose a reference migration model and finally summarise the proposed approach
30 Years of Software Refactoring Research: A Systematic Literature Review
Peer Reviewedhttps://deepblue.lib.umich.edu/bitstream/2027.42/155872/4/30YRefactoring.pd
1957-2007: 50 Years of Higher Order Programming Languages
Fifty years ago one of the greatest breakthroughs in computer programming and in the history of computers happened – the appearance of FORTRAN, the first higher-order programming language. From that time until now hundreds of programming languages were invented, different programming paradigms were defined, all with the main goal to make computer programming easier and closer to as many people as possible. Many battles were fought among scientists as well as among developers around concepts of programming, programming languages and paradigms. It can be said that programming paradigms and programming languages were very often a trigger for many changes and improvements in computer science as well as in computer industry. Definitely, computer programming is one of the cornerstones of computer science. Today there are many tools that give a help in the process of programming, but there is still a programming tasks that can be solved only manually. Therefore, programming is still one of the most creative parts of interaction with computers. Programmers should chose programming language in accordance to task they have to solve, but very often, they chose it in accordance to their personal preferences, their beliefs and many other subjective reasons. Nevertheless, the market of programming languages can be merciless to languages as history was merciless to some people, even whole nations. Programming languages and developers get born, live and die leaving more or less tracks and successors, and not always the best survives. The history of programming languages is closely connected to the history of computers and computer science itself. Every single thing from one of them has its reflexions onto the other. This paper gives a short overview of last fifty years of computer programming and computer programming languages, but also gives many ideas that influenced other aspects of computer science. Particularly, programming paradigms are described, their intentions and goals, as well as the most of the significant languages of all paradigms
- …