Spelling suggestions: "subject:"automated refactoring"" "subject:"utomated refactoring""
1 |
Functionality based refactoring : improving source code comprehensionBeiko, Jeffrey Lee 02 January 2008 (has links)
Software maintenance is the lifecycle activity that consumes the greatest amount of resources. Maintenance is a difficult task because of the size of software systems. Much of the time spent on maintenance is spent trying to understand source code. Refactoring offers a way to improve source code design and quality. We present an approach to refactoring that is based on the functionality of source code. Sets of heuristics are captured as patterns of source code. Refactoring opportunities are located using these patterns, and dependencies are verified to check if the located refactorings preserve the dependencies in the source code. Our automated tool performs the functional-based refactoring opportunities detection process, verifies dependencies, and performs the refactorings that preserve dependencies. These refactorings transform the source code into a series of functional regions of code, which makes it easier for developers to locate code they are searching for. This also creates a chunked structure in the source code, which helps with bottom-up program comprehension. Thus, this process reduces the amount of time required for maintenance by reducing the amount of time spent on program comprehension. We perform case studies to demonstrate the effectiveness of our automated approach on two open source applications. / Thesis (Master, Computing) -- Queen's University, 2007-10-05 12:48:56.977
|
2 |
NORMALIZING-REFACTORINGS: SIMPLIFYING THE CONSTRUCTION OF SOURCE CODE TRANSFORMATIONSNewman, Christian D. 10 December 2013 (has links)
No description available.
|
3 |
A SOURCE CODE TRANSFORMATION LANGUAGE TO SUPPORT SOFTWARE EVOLUTIONNewman, Christian D. 21 July 2017 (has links)
No description available.
|
4 |
μJUNITER: Automated Unification of Microservices into Modular Monoliths for Versatile Software Architecture MigrationMartin, Joshua Scott 19 December 2024 (has links)
Although software architecture aims for long-term stability, architectural migrations may be necessary to adapt to evolving business needs and resource availability. In recent years, numerous migrations have occurred within backend architectures. While many of these migrations partition monoliths into microservices, several prominent enterprises have reported having to unite microservices into monoliths to reduce management and communication overheads. The required unification is typically manual, substantial, tedious, and error-prone for complex systems. This thesis presents a novel automated architectural refactoring that transforms a microservice system into a functionally equivalent monolith. Our refactoring relies on abstract syntax tree merging and control flow bridging to unite distributed components into a centralized system. We have implemented our approach as μJUNITER, an automated refactoring tool that operates on Java source files of Spring Boot microservices, producing Spring Boot modular monoliths. Evaluations conducted with third-party and synthetically generated microservice applications, with up to 100 microservices, demonstrate that μJUNITER's refactoring preserves the original system's functionality, as verified by end-to-end and back-end unit testing. The refactoring also reduced latency in certain cases and resource consumption in all cases. μJUNITER's refactoring saves manual programming effort proportional to the number of microservices and their level of inter-service interaction. As software architectures must adapt to changing trends, our approach can complement and enhance the existing automated toolset for architectural migration. / Master of Science / Modern software must constantly evolve to remain useful, reliable, and efficient. Sometimes, these changes affect small parts of the software, while in other cases, the entire architecture needs to be reworked. Enterprise software architecture typically follows two main styles: monolithic systems, in which all features are bundled together, or microservices, in which features are broken into separate, remotely interacting components. While many companies have shifted from monolithic systems to microservices, some are now moving back to monolithic structures to simplify management and reduce overhead. This thesis introduces a tool called μJUNITER that automates the process of merging microservices into a single, cohesive system, saving time and reducing errors. The evaluation shows that μJUNITER preserves the original functionality while improving performance and reducing resource usage. With the continuous changes in the software landscape, μJUNITER provides an effective solution for organizations seeking to restructure the architecture of their enterprise systems.
|
5 |
Context-aware automated refactoring for unified memory allocation in NVIDIA CUDA programsNejadfard, Kian 25 June 2021 (has links)
No description available.
|
Page generated in 0.0725 seconds