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.
2004
Currently, the demand for the reverse engineering has been growing significantly. The need of different business sectors to adapt their systems to Web or to use other technologies is stimulating the research for methods, tools and infrastructures that support the evolution of existing applications. In this paper, we present the main research trends on reverse engineering, and discuss how should be an efficient reverse engineering approach, aiming at higher reuse levels.
The demand by all business sectors to adapt their information systems to the Web has created a tremendous need for methods, tools, and infrastructures to evolve and exploit existing applications efficiently and cost-effectively. Reverse Engineering is focused on the challenging task of understanding legacy program code without having suitable documentation. Reverse Engineering means a Process to Design the principle of applications which analysis its structure, function and their operations. This paper tries to describe what is Reverse Engineering, is it necessary, different types of R.E., its uses and applications.
2000
By the early 1990s the need for reengineering legacy systems was already acute, but recently the demand has increased significantly with the shift toward web-based user interfaces. The demand by all business sectors to adapt their information systems to the Web has created a tremendous need for methods, tools, and infrastructures to evolve and exploit existing applications efficiently and cost-effectively. Reverse engineering has been heralded as one of the most promising technologies to combat this legacy systems problem. This paper presents a roadmap for reverse engineering research for the first decade of the new millennium, building on the program comprehension theories of the 1980s and the reverse engineering technology of the 1990s.
Abstract Reverse engineering is a crucial task to support software comprehension and maintenance, especially when software systems lack of up-to-date and adequate documentation. This paper overviews key achievements in different areas of reverse engineering, discusses the role of reverse engineering in today's' software development practice, and outlines new challenges deriving from new and emerging software development scenarios.
Proceedings of the conference on The future of Software engineering - ICSE '00, 2000
By the early 1990s the need for reengineering legacy systems was already acute, but recently the demand has increased sig- nificantly with the shift toward web-based user interfaces. The demand by all business sectors to adapt their informa- tion systems to the Web has created a tremendous need for methods, tools, and infrastructures to evolve and exploit ex- isting applications
Instability is the nature of any application. An Application may strive for and helps a business or company for some time (may be 10 or 15 years), during that time it has been corrected, adapted and enhanced many times. But every time a change is made into the application, unexpected and serious side effects occur. Yet the application must continue to evolve. Unmaintainable software is not a new problem. In the following sections, we are going to analyze the Software Re-engineering and Reverse-engineering processes and how they help any application to maintain the Quality standards.
Proceedings of the 2006 ACM symposium on Applied computing - SAC '06, 2006
In this work we present techniques and tools that enable effective reverse engineering procedures for web applications that were developed using the promising ASP.NET technology. We deal with model-driven development in its reverse aspect by implementing reverse engineering methods. Our implemented methods model web applications using a well-known, web oriented and robust language, namely WebML. This is, to the authors' best knowledge, a novel re-engineering transformation. In this paper we propose a method to reverse engineer web applications in order to extract their conceptual model using WebML notation. Moreover, we present an efficient tool we have developed in order to implement the proposed method, along with a study of the application of our tool to an exemplar, contentmanagement web application. The overall results are quite encouraging and indicate that our approach is efficient.
wcre, 2001
The new possibilities offered by WEB applications are pervasively and radically changing several areas. WEB applications, compared to WEB sites, offer substantially greater opportunities: a WEB application provides the WEB user with a means to modify the site status. WEB applications represent a competitive advantage: they are critical and strategically relevant resources, not only to communicate the company image, but also to manage production and distribution.
Journal of Software Maintenance and Evolution: Research and Practice, 2000
International Journal of Software Engineering and Its Applications, 2017
As the stages of software development reveal, the method of analysis comprises of all the stages starting from specifications to the final product release. Although prevalent, this method has resulted in neglecting the final stages of development such as maintenance and evolution. One other approach to software development known as reverse engineering, is the synthesis process of software development and integration. Initially, it was introduced and used just for the modernization of old legacy systems. With time, the usage of software reverse engineering has become more extensive. It can be used with virtually every kind of software system that exists, making it one of the most powerful tools of development. Understanding the already existing system to improve the capabilities and performance is the in-thing today.
21st IEEE International Conference on Software Maintenance (ICSM'05), 2005
In this chapter a methodology for Reverse Engineering Web Applications based on the Goals/Models/Tools paradigm is presented. This methodology is called WARE (Web Application Reverse Engineering). The Reverse Engineering process needed to obtain a set of views of a Web Application is outlined in this chapter. The views are cast into UML diagrams. A survey of the main approaches in literature to the reverse engineering of Web Applications is presented. The methodologies adopted to realize the tasks of the process and the tool supporting them are described in the next chapters.
Journal of Software …, 2004
The rapid, progressive diffusion of Web applications in several productive contexts of our modern society is laying the foundations of a renewed scenario of software development, where one of the emerging problems is that of defining and validating cost-effective approaches for maintaining and evolving these software systems.
Software reverse engineering is a subfield of software engineering that is concerned with the analysis of an existing software system-often legacy-with the goal to synthesize information about the target system so that certain aspects of it can be reasoned about. System artifacts such as requirements specification, design documents, source code, version histories, documentation, use cases, or execution traces are analyzed with the goal to reveal or synthesize abstractions and to generate visualizations that expose call graphs, subsystem structures, high-level architectures, functional decompositions, code duplications, metrics, and run-time behavior. An important aspect of reverse engineering is that it generates information about the subject system at various levels of abstraction, ranging from code-centric views such as program slices to domain knowledge such as business rules. This synthesized information includes mappings and concept assignments between abstraction layers. Thus, reverse engineering provides valuable input for evolving software systems including activities such as program comprehension, reengineering, or maintenance.
Innovations and Advances in Computer Sciences and Engineering, 2010
Emergent advancements in technology, new business requirements and stakeholder's needs escort to frequent migration from legacy systems to more powerful, dedicated, secure and reliable computing systems. Different reverse engineering methodologies, techniques and tools are used to extract artifacts from existing legacy systems starting from the implementations and going back to design, architecture and requirements. Most presented techniques supplemented with tool support are specific to particular projects and their generalization and customization is always questionable. This paper presents customizable software reverse engineering technique integrated with different recovery techniques and tools to extract different artifacts from legacy systems. The concept of technique is validated through different examples.
Developers tend to leave some important steps and actions (e.g. properly designing the system's architecture, code review and testing) out of the software development process, and use risky practices (e.g. the copy-paste technique) so that the software can be released as fast as possible. However, these practices may turn out to be critical from the viewpoint of maintainability of the software system. In such cases, a cost-eective solution might be to re-engineer the system. Re-engineering consists of two stages, namely reverse-engineering information from the current system and, based on this information, forward-engineering the system to a new form. In this way, successful re-engineering signicantly depends on the reverse engineering phase. Therefore, it is vital to guarantee correctness, and to improve the results of the reverse engineering step. Otherwise, the re-engineering of the software system could fail due to the bad results of reverse engineering. The above issues motivated us to develop a method which extends and improves one of our reverse engineering tools, and to develop benchmarks and to perform experiments on evaluating and comparing reverse engineering tools. Lajos Jen® Fülöp, 2011 iii To discover new continents, you must be willing to lose sight of the shore.
Empirical Software Engineering, 2007
Starting with the aim of modernizing legacy systems, often written in old programming languages, reverse engineering has extended its applicability to virtually every kind of software system. Moreover, the methods originally designed to recover a diagrammatic, high-level view of the target system have been extended to address several other problems faced by programmers when they need to understand and modify existing software. The authors' position is that the next stage of development for this discipline will necessarily be based on empirical evaluation of methods. In fact, this evaluation is required to gain knowledge about the actual effects of applying a given approach, as well as to convince the end users of the positive cost-benefit trade offs. The contribution of this paper to the state of the art is a roadmap for the future research in the field, which includes: clarifying the scope of investigation, defining a reference taxonomy, and adopting a common framework for the execution of the experiments.
International Research Journal of Modernization in Engineering Technology and Science, 2024
This paper aims to provide a comprehensive overview of reverse engineering, discussing its various techniques, applications, challenges, and opportunities. By exploring these aspects, we can better appreciate the role of reverse engineering in advancing technology and solving complex problems. The primary objective of this paper is to elucidate the process and importance of reverse engineering across different domains. We aim to highlight the techniques used in reverse engineering, its applications in various industries, the challenges faced during the process, and the opportunities it presents for future advancements. Reverse engineering has a wide range of applications. In software development and maintenance, it aids in maintaining legacy systems and ensuring interoperability with modern technologies. It also drives product development and innovation by allowing companies to analyze competitors' products and enhance their own. Additionally, reverse engineering is used in legal and forensic contexts to resolve intellectual property disputes and conduct digital forensics. The process of reverse engineering faces several challenges, including technical, legal, and resource limitations. Technical challenges involve complex obfuscation techniques and evolving technologies that complicate the analysis. Legal and ethical challenges include navigating intellectual property laws and maintaining ethical integrity. Resource and expertise limitations involve the need for specialized tools, skilled personnel, and the significant time and cost involved in the process. Despite the challenges, reverse engineering presents numerous opportunities. Advancements in AI and machine learning have enhanced reverse engineering tools, making them more efficient and accurate.
2001
The new possibilities offered by WEB applications are pervasively and radically changing several areas. WEB applications, compared to WEB sites, offer substantially greater opportunities: a WEB application provides the WEB user with a means to modify the site status. WEB applications represent a competitive advantage: they are critical and strategically relevant resources, not only to communicate the company image, but also to manage production and distribution.
Reverse engineering is a process to extract designing knowledge from the use of any human-made by analysis its structure . Using this science in research is very common and the major difference of Reverse engineering with conventional science research is that the goal of this science is to study how to design and technology is used in the humanmade , while the natural sciences are following the analysis of the current phenomenon in the nature , in addition in Reverse engineering by study and analysis of variance components and the technologies used in a produced and released product , the structure will be recognized And the possibility of similar production and even adding some positive characteristics will be provided for the scholars and researchers .
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.