To see the other types of publications on this topic, follow the link: Software refactoring. Software engineering.

Journal articles on the topic 'Software refactoring. Software engineering'

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 journal articles for your research on the topic 'Software refactoring. Software engineering.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse journal articles on a wide variety of disciplines and organise your bibliography correctly.

1

Chen, Le Yang, Yang Li, and Wu Jian. "Study on Surface Refactoring Based on Reverse Engineering Software - Imageware." Applied Mechanics and Materials 215-216 (November 2012): 652–55. http://dx.doi.org/10.4028/www.scientific.net/amm.215-216.652.

Full text
Abstract:
In this article, based on the research of point cloud acquisition, data preprocessing and surface refactoring of reverse engineering, we analyzed the function and process of the reversing software—IMAGEWARE so as to provide reverse engineering design methods to reversing style design of curved surface refactoring and re-design of products.
APA, Harvard, Vancouver, ISO, and other styles
2

Et.al, Abdullah Almogahed. "Empirical Studies on Software Refactoring Techniques in the Industrial Setting." Turkish Journal of Computer and Mathematics Education (TURCOMAT) 12, no. 3 (2021): 1705–16. http://dx.doi.org/10.17762/turcomat.v12i3.995.

Full text
Abstract:
Software refactoring is an approach that aims to improve software system quality by restructuring its internal design without altering the functionality of the software system. The software refactoring has gained comprehensive attention from the research community in software engineering since its emerging in 1999. Empirical studies were carried out to investigate whether the software refactoring indeed can achieve improvement in the software system quality. It is widely believed that refactoring has a favorable quality impact. However, several researchers have opposed this belief. This paper presents a systematic literature review (SLR) of the empirical studies that have been conducted in the industrial setting. Twenty studies were chosen and analyzed in depth as primary studies.The objectives of this SLR are to identify the refactoring techniques examined, and software quality attributes investigated as well as to analyze the connection between the refactoring techniques and the software quality attributes based on the selected empirical studies to understand the situation. The findings showed a lack of empirical research on the effect of the refactoring on software quality. Additionally, the relationship between the refactoring techniques and software quality attributes is unclear. Thus, several recommendations have been proposed to address these gaps.
APA, Harvard, Vancouver, ISO, and other styles
3

JÓŹWIAK, IRENEUSZ, MAKSYMILIAN KOWALCZYK, and ANDRZEJ PIOTROWICZ. "REFACTORIZATION'S IMPACT ON SOFTWARE RELIABILITY." International Journal of Reliability, Quality and Safety Engineering 13, no. 01 (2006): 47–60. http://dx.doi.org/10.1142/s0218539306002136.

Full text
Abstract:
Software refactorization is a process of changing program's source code structure without changing its functionality. The purpose of the refactorization is to make program's source code easier to understand and maintain, which in turn influence the fact that in a long term such code should have fewer errors (be more reliable). In recent years many works described refactorization, but till now there are no researches, which would assess long term influence of refactoring on reliability. In this work we try to depict our fundamental study on software systems reliability improvement in context of refactoring. We tried to find the answer to the question: What are benefits of using refactorization as far as reliability is concerned?
APA, Harvard, Vancouver, ISO, and other styles
4

Nguyen, Ai G., and Richard L. Sohn. "Refactoring administrative services module platform software." Bell Labs Technical Journal 8, no. 3 (2003): 105–10. http://dx.doi.org/10.1002/bltj.10080.

Full text
APA, Harvard, Vancouver, ISO, and other styles
5

Zhang, Yang, Shixin Sun, Dongwen Zhang, Jing Qiu, and Zhihong Tian. "A consistency-guaranteed approach for Internet of Things software refactoring." International Journal of Distributed Sensor Networks 16, no. 1 (2020): 155014772090168. http://dx.doi.org/10.1177/1550147720901680.

Full text
Abstract:
The software architecture of Internet of Things defines the component model and interconnection topology of Internet of Things systems. Refactoring is a systematic practice of improving a software structure without altering its external behaviors. When the Internet of Things software is refactored, it is necessary to detect the correctness of Internet of Things software to ensure its security. To this end, this article proposes a novel refactoring correction detection approach to ensure software security. Control flow analysis and data flow analysis are used to detect code changes before and after refactoring, and synchronization dependency analysis is used to detect changes in synchronization dependency. Three detection algorithms are designed to detect refactoring correctness. Four real-world benchmark applications are used to evaluate our approach. The experimental results show that our proposed approach can ensure correctness of Internet of Things software refactoring.
APA, Harvard, Vancouver, ISO, and other styles
6

Ouni, Ali, Marouane Kessentini, Houari Sahraoui, Katsuro Inoue, and Kalyanmoy Deb. "Multi-Criteria Code Refactoring Using Search-Based Software Engineering." ACM Transactions on Software Engineering and Methodology 25, no. 3 (2016): 1–53. http://dx.doi.org/10.1145/2932631.

Full text
APA, Harvard, Vancouver, ISO, and other styles
7

Pan, Wei-Feng, Bo Jiang, and Bing Li. "Refactoring Software Packages via Community Detection in Complex Software Networks." International Journal of Automation and Computing 10, no. 2 (2013): 157–66. http://dx.doi.org/10.1007/s11633-013-0708-y.

Full text
APA, Harvard, Vancouver, ISO, and other styles
8

Dao, Thi-Huong, Xuan-Truong Nguyen, and Ninh-Thuan Truong. "Preservation of Class Invariants in Refactoring UML Models." International Journal of Software Engineering and Knowledge Engineering 29, no. 02 (2019): 221–44. http://dx.doi.org/10.1142/s0218194019500104.

Full text
Abstract:
In the field of software engineering, the term class invariants is known as a valuable term employed to delineate the semantic of UML class diagram elements (attributes and relationships) and must be held throughout the life-time of instances of the class. Refactoring, the activities of re-distributing classes, attributes and methods across the class hierarchy, is a powerful technique that is used to improve the quality of software systems. Performing refactoring on UML class diagrams obviously requires a special investigation of invariant-preserving on the refactored models. In this paper, we propose an approach to preserve class invariants in refactoring UML models. In order to achieve this aim, we first formalize the class diagram along with class invariants by mathematical notations. We then constitute the rules for five refactoring operations (deal with class hierarchies) in such a way to guarantee class invariants as well as proving correctness of the refactoring rules. Finally, the paper also makes provision of the proposed approach for practical applications in software re-engineering development process.
APA, Harvard, Vancouver, ISO, and other styles
9

Alenezi, Mamdouh, Mohammed Akour, and Osama Al Qasem. "Harnessing deep learning algorithms to predict software refactoring." TELKOMNIKA (Telecommunication Computing Electronics and Control) 18, no. 6 (2020): 2977. http://dx.doi.org/10.12928/telkomnika.v18i6.16743.

Full text
APA, Harvard, Vancouver, ISO, and other styles
10

Durak, Umut. "Pragmatic model transformations for refactoring in Scilab/Xcos." International Journal of Modeling, Simulation, and Scientific Computing 07, no. 01 (2016): 1541004. http://dx.doi.org/10.1142/s1793962315410044.

Full text
Abstract:
Model-Based Development has become an industry wide standard paradigm. As an open source alternative, Scilab/Xcos is being widely employed as a hybrid dynamic systems modeling tool. With the increasing efficiency in implementation using graphical model development and code generation, the modeling and simulation community is struggling with assuring quality as well as maintainability and extendibility. Refactoring is defined as an evolutionary modernization activity where, most of the time, the structure of the artifact is changed to alter its quality characteristics, while keeping its behavior unchanged. It has been widely established as a technique for textual programming languages to improve the code structure and quality. While refactoring is also regarded as one of the key practices of model engineering, the methodologies and approaches for model refactoring are still under development. Architecture-Driven Modernization (ADM) has been introduced by the software engineering community as a model-based approach to software modernization, in which the implicit information that lies in software artifacts is extracted to models and model transformations are applied for modernization tasks. Regarding refactoring as a low level modernization task, the practices from ADM are adaptable. Accordingly, this paper proposes a model-based approach for model refactoring in order to come up with more efficient and effective model refactoring methodology that is accessible and extendable by modelers. Like other graphical modeling tools, Scilab/Xcos also possesses a formalized model specification conforming to its implicit metamodel. Rather than proposing another metamodel for knowledge extraction, this pragmatic approach proposes to conduct in place model-to-model transformations for refactoring employing the Scilab/Xcos model specification. To construct a structured model-based approach, the implicit Scilab/Xcos metamodel is explicitly presented utilizing ECORE as a meta-metamodel. Then a practical model transformation approach is established based on Scilab scripting. A Scilab toolset is provided to the modeler for in-place model-to-model transformations. Using a sample case study, it is demonstrated that proposed model transformation functions in Scilab provide a valuable refactoring tool.
APA, Harvard, Vancouver, ISO, and other styles
11

Ito, Yuki, Atsuo Hazeyama, Yasuhiko Morimoto, Hiroaki Kaminaga, Shoichi Nakamura, and Youzou Miyadera. "A Method for Detecting Bad Smells and its Application to Software Engineering Education." International Journal of Software Innovation 3, no. 2 (2015): 13–23. http://dx.doi.org/10.4018/ijsi.2015040102.

Full text
Abstract:
In order to extend and maintenance software systems, it is necessary to remove factors behind bad smells from source code through refactoring. However, it is time-consuming process to detect and remove factors behind bad smells manually from large source code. And, learning how to refactor bad smells can be difficult for students because they are not yet software development experts. Therefore, the authors propose a method for detecting bad smells using declarative meta programming that can be applied to software development training. In this manner, software development training is facilitated.
APA, Harvard, Vancouver, ISO, and other styles
12

Ghannem, Adnane, Marouane Kessentini, Mohammad Salah Hamdi, and Ghizlane El Boussaidi. "Model refactoring by example: A multi-objective search based software engineering approach." Journal of Software: Evolution and Process 30, no. 4 (2017): e1916. http://dx.doi.org/10.1002/smr.1916.

Full text
APA, Harvard, Vancouver, ISO, and other styles
13

Mkaouer, Mohamed Wiem, Marouane Kessentini, Slim Bechikh, Mel Ó Cinnéide, and Kalyanmoy Deb. "On the use of many quality attributes for software refactoring: a many-objective search-based software engineering approach." Empirical Software Engineering 21, no. 6 (2015): 2503–45. http://dx.doi.org/10.1007/s10664-015-9414-4.

Full text
APA, Harvard, Vancouver, ISO, and other styles
14

Kosker, Yasemin, Burak Turhan, and Ayse Bener. "An expert system for determining candidate software classes for refactoring." Expert Systems with Applications 36, no. 6 (2009): 10000–10003. http://dx.doi.org/10.1016/j.eswa.2008.12.066.

Full text
APA, Harvard, Vancouver, ISO, and other styles
15

Alrababah, Ahmad Abdul Qadir. "Software System Package Dependencies and Visualization of Internal Structure." International Journal of Advances in Applied Sciences 7, no. 1 (2018): 13. http://dx.doi.org/10.11591/ijaas.v7.i1.pp13-20.

Full text
Abstract:
<span>This manuscript discusses the visualization methods of software systems architecture with composition of reverse engineering tools and restoration of software systems architecture. The visualization methods and analysis of dependencies in software packages are written in Java</span><em><span lang="AR-SA" dir="RTL">.</span></em><span> To use this performance graph</span><em></em><span>it needs to describe the relationships between classes inside the analyzed packages and between classes of different packages. In the manuscript also described the possibility of tools to provide the infrastructure for subsequent detection and error correction design in software systems and its refactoring.</span>
APA, Harvard, Vancouver, ISO, and other styles
16

Griswold, William G., and William F. Opdyke. "The Birth of Refactoring: A Retrospective on the Nature of High-Impact Software Engineering Research." IEEE Software 32, no. 6 (2015): 30–38. http://dx.doi.org/10.1109/ms.2015.107.

Full text
APA, Harvard, Vancouver, ISO, and other styles
17

Nanthaamornphong, Aziz, Jeffrey Carver, Karla Morris, and Salvatore Filippone. "Extracting UML Class Diagrams from Object-Oriented Fortran: ForUML." Scientific Programming 2015 (2015): 1–15. http://dx.doi.org/10.1155/2015/421816.

Full text
Abstract:
Many scientists who implement computational science and engineering software have adopted the object-oriented (OO) Fortran paradigm. One of the challenges faced by OO Fortran developers is the inability to obtain high level software design descriptions of existing applications. Knowledge of the overall software design is not only valuable in the absence of documentation, it can also serve to assist developers with accomplishing different tasks during the software development process, especially maintenance and refactoring. The software engineering community commonly uses reverse engineering techniques to deal with this challenge. A number of reverse engineering-based tools have been proposed, but few of them can be applied to OO Fortran applications. In this paper, we propose a software tool to extract unified modeling language (UML) class diagrams from Fortran code. The UML class diagram facilitates the developers' ability to examine the entities and their relationships in the software system. The extracted diagrams enhance software maintenance and evolution. The experiments carried out to evaluate the proposed tool show its accuracy and a few of the limitations.
APA, Harvard, Vancouver, ISO, and other styles
18

Sheneamer, Abdullah M. "An Automatic Advisor for Refactoring Software Clones Based on Machine Learning." IEEE Access 8 (2020): 124978–88. http://dx.doi.org/10.1109/access.2020.3006178.

Full text
APA, Harvard, Vancouver, ISO, and other styles
19

Ouali, Sami. "Generating Software Product Line Model by Resolving Code Smells in the Products’ Source Code." International Journal of Software Engineering & Applications 12, no. 1 (2021): 1–10. http://dx.doi.org/10.5121/ijsea.2021.12101.

Full text
Abstract:
Software Product Lines (SPLs) refer to some software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production. This concept is recognized as a successful approach to reuse in software development. Its purpose is to reduce production costs by reusing existing features and managing the variability between the different products with respect of particular constraints. Software Product Line engineering is the production process in product lines and the development of a family of systems by reusing core assets. It exploits the commonalities between software products and preserves the ability to vary the functionalities and features between these products. The adopted strategy for building SPL can be a top-down or bottom-up. Depending from the selected strategy, it is possible to face an inappropriate implementation in the SPL Model or the derived products during this process. The code can contain code smells or code anomalies. Code smells are considered as problems in source code which can have an impact on the quality of the derived products of an SPL. The same problem can be present in many derived products from an SPL due to reuse or in the obtained product line when the bottom-up strategy is selected. A possible solution to this problem can be the refactoring which can improve the internal structure of source code without altering external behavior. This paper proposes an approach for building SPL from source code using the bottom-up strategy. Its purpose is to reduce code smells in the obtained SPL using refactoring source code. This approach proposes a possible solution using reverse engineering to obtain the feature model of the SPL.
APA, Harvard, Vancouver, ISO, and other styles
20

Alkhalid, Abdulaziz, Mohammad Alshayeb, and Sabri Mahmoud. "Software refactoring at the function level using new Adaptive K-Nearest Neighbor algorithm." Advances in Engineering Software 41, no. 10-11 (2010): 1160–78. http://dx.doi.org/10.1016/j.advengsoft.2010.08.002.

Full text
APA, Harvard, Vancouver, ISO, and other styles
21

Advani, Deepak, Youssef Hassoun, and Steve Counsell. "Understanding the complexity of refactoring in software systems: a tool-based approach." International Journal of General Systems 35, no. 3 (2006): 329–46. http://dx.doi.org/10.1080/03081070600661051.

Full text
APA, Harvard, Vancouver, ISO, and other styles
22

FARHOODI, ROSHANAK, VAHID GAROUSI, DIETMAR PFAHL, and JONATHAN SILLITO. "DEVELOPMENT OF SCIENTIFIC SOFTWARE: A SYSTEMATIC MAPPING, A BIBLIOMETRICS STUDY, AND A PAPER REPOSITORY." International Journal of Software Engineering and Knowledge Engineering 23, no. 04 (2013): 463–506. http://dx.doi.org/10.1142/s0218194013500137.

Full text
Abstract:
Scientific and engineering research is heavily dependent on effective development and use of software artifacts. Many of these artifacts are produced by the scientists themselves, rather than by trained software engineers. To address the challenges in this area, a research community often referred to as "Development of Scientific Software" has emerged in the last few decades. As this research area has matured, there has been a sharp increase in the number of papers and results made available, and it has thus become important to summarize and provide an overview about those studies. Through a systematic mapping and bibliometrics study, we have reviewed 130 papers in this area. We present the results of our study in this paper. Also we have made the mapping data available on an online repository which is planned to be updated on a regular basis. The results of our study seem to suggest that many software engineering techniques and activities are being used in the development of scientific software. However, there is still a need for further exploration of the usefulness of specific software engineering techniques (e.g., regarding software maintenance, evolution, refactoring, re(v)-engineering, process and project management) in the scientific context. It is hoped that this article will help (new) researchers get an overview of the research space and help them to understand the trends in the area.
APA, Harvard, Vancouver, ISO, and other styles
23

Cicciarella, Stefano, Christian Napoli, and Emiliano Tramontana. "Searching Design Patterns Fast by Using Tree Traversals." International Journal of Electronics and Telecommunications 61, no. 4 (2015): 321–26. http://dx.doi.org/10.1515/eletel-2015-0041.

Full text
Abstract:
Abstract Large software systems need to be modified to remain useful. Changes can be more easily performed when their design has been carefully documented. This paper presents an approach to quickly find design patterns that have been implemented into a software system. The devised solution greatly reduces the performed checks by organising the search for a design pattern as tree traversals, where candidate classes are carefully positioned into trees. By automatically tagging classes with design pattern roles we make it easier for developers to reason with large software systems. Our approach can provide documentation that lets developers understand the role each class is playing, assess the quality of the code, have assistance for refactoring and enhancing the functionalities of the software system.
APA, Harvard, Vancouver, ISO, and other styles
24

Kataieva, Yevheniia, Svetlana Odokienko, Maya Luta, and Yaroslav Savchenko. "PRACTICAL QUALITY ANALYSIS OF OPEN SOURCE SOFTWARE." Management of Development of Complex Systems, no. 44 (November 30, 2020): 49–55. http://dx.doi.org/10.32347/2412-9933.2020.44.49-55.

Full text
Abstract:
The success of any project is determined by its ability to meet the needs of the consumer, and therefore ensuring a high level of quality is a necessary task of any production, including software engineering. Insufficient quality of the created software requires many IT-organizations, up to 70% of the budget of the information system to reserve for the maintenance stage, with up to 60% of all software modifications performed to eliminate errors, and only the remaining 40% - to correct software within the business process, improvement certain indicators of software quality, or to prevent potential problems. Software quality is a complex concept. Standards highlight the quality of development processes, internal and external quality of the software product, the quality of the software product at the stage of use. For each of the components of quality can be called a set of metrics that determine the quality of the software product. The resulting structure is called the software quality model. Software metrics are a measure that allows you to get the numerical value of a property of software or its specifications, as well as the method of its calculation. Metrics allow you to get numeric values for each property of the software or its specifications. Of particular interest are software complexity metrics. Complexity is an important factor on which other parameters of software quality depend, such as accuracy, correctness, reliability, convenience of support. The existence of methods and algorithms for automatic calculation of software complexity metrics using software allows you to get a comprehensive formal report on the quality of software in a short time. This allows for objective monitoring of the quality of software throughout the project life cycle, make adjustments to the project plan, as well as make timely decisions about the need for refactoring.
APA, Harvard, Vancouver, ISO, and other styles
25

Panigrahi, Rasmita, Sanjay K. Kuanar, Lov Kumar, and Neelamadhab Padhy. "A systematic approach for software refactoring based on class and method level for AI application." International Journal of Powertrains 10, no. 2 (2021): 143. http://dx.doi.org/10.1504/ijpt.2021.117461.

Full text
APA, Harvard, Vancouver, ISO, and other styles
26

Padhy, Neelamadhab, Lov Kumar, Sanjay K. Kuanar, and Rasmita Panigrahi. "A systematic approach for Software refactoring based on Class and Method Level for AI application." International Journal of Powertrains 10, no. 4 (2021): 1. http://dx.doi.org/10.1504/ijpt.2021.10038108.

Full text
APA, Harvard, Vancouver, ISO, and other styles
27

Zheng, Ge, Chun Wang, and Bo Huang. "Inverse Design and Numerical Control Processing of the Little Bear Punch." Applied Mechanics and Materials 687-691 (November 2014): 113–16. http://dx.doi.org/10.4028/www.scientific.net/amm.687-691.113.

Full text
Abstract:
Inverse design is the process of using a certain means of measurement to measure entity or model, and according to the measurements, refactoring physical CAD model through Three-dimensional geometric modeling methods. Basing on the little model, use reverse engineering methods, three-dimensional scanning technology and Raindrop Company produced the inverse engineering software to finish the reverse three-dimensional modeling design of little bear punch. Applying Master CAM to set parameters, simulation run, and automatically generate NC code, in the vertical machining center, complex curved surface NC machining of the model can be finished. In engineering practice, it can improve work efficiency, reduce the labor intensity of product development, and reduce the artificial error of the design.
APA, Harvard, Vancouver, ISO, and other styles
28

HAYASHI, Shinpei, Yasuyuki TSUDA, and Motoshi SAEKI. "Search-Based Refactoring Detection from Source Code Revisions." IEICE Transactions on Information and Systems E93-D, no. 4 (2010): 754–62. http://dx.doi.org/10.1587/transinf.e93.d.754.

Full text
APA, Harvard, Vancouver, ISO, and other styles
29

HAYASHI, S. "Supporting Refactoring Activities Using Histories of Program Modification." IEICE Transactions on Information and Systems E89-D, no. 4 (2006): 1403–12. http://dx.doi.org/10.1093/ietisy/e89-d.4.1403.

Full text
APA, Harvard, Vancouver, ISO, and other styles
30

Chang, Feng-Cheng, and Hsiang-Cheh Huang. "A refactoring method for cache-efficient swarm intelligence algorithms." Information Sciences 192 (June 2012): 39–49. http://dx.doi.org/10.1016/j.ins.2010.02.025.

Full text
APA, Harvard, Vancouver, ISO, and other styles
31

Alnabhan, Mohammad, Mustafa Hammad, and Sarah Al Sarairah. "Combining structural and semantic cohesion measures to identify extract class refactoring." International Journal of Computer Applications in Technology 61, no. 3 (2019): 198. http://dx.doi.org/10.1504/ijcat.2019.10024320.

Full text
APA, Harvard, Vancouver, ISO, and other styles
32

Hammad, Mustafa, Mohammad Alnabhan, and Sarah Al Sarairah. "Combining structural and semantic cohesion measures to identify extract class refactoring." International Journal of Computer Applications in Technology 61, no. 3 (2019): 198. http://dx.doi.org/10.1504/ijcat.2019.102841.

Full text
APA, Harvard, Vancouver, ISO, and other styles
33

Mancl, D. "Refactoring for software migration." IEEE Communications Magazine 39, no. 10 (2001): 88–93. http://dx.doi.org/10.1109/35.956119.

Full text
APA, Harvard, Vancouver, ISO, and other styles
34

Fülöp, Endre, and Norbert Pataki. "A DSL for Resource Checking Using Finite State Automaton-Driven Symbolic Execution." Open Computer Science 11, no. 1 (2020): 107–15. http://dx.doi.org/10.1515/comp-2020-0120.

Full text
Abstract:
AbstractStatic analysis is an essential way to find code smells and bugs. It checks the source code without execution and no test cases are required, therefore its cost is lower than testing. Moreover, static analysis can help in software engineering comprehensively, since static analysis can be used for the validation of code conventions, for measuring software complexity and for executing code refactorings as well. Symbolic execution is a static analysis method where the variables (e.g. input data) are interpreted with symbolic values. Clang Static Analyzer is a powerful symbolic execution engine based on the Clang compiler infrastructure that can be used with C, C++ and Objective-C. Validation of resources’ usage (e.g. files, memory) requires finite state automata (FSA) for modeling the state of resource (e.g. locked or acquired resource). In this paper, we argue for an approach in which automata are in-use during symbolic execution. The generic automaton can be customized for different resources. We present our domain-specific language to define automata in terms of syntactic and semantic rules. We have developed a tool for this approach which parses the automaton and generates Clang Static Analyzer checker that can be used in the symbolic execution engine. We show an example automaton in our domain-specific language and the usage of generated checker.
APA, Harvard, Vancouver, ISO, and other styles
35

Santos, Bruno M., Ignacio Garcia-Rodriguez de Guzman, Valter V. de Camargo, Mario Piattini, and Christof Ebert. "Software Refactoring for System Modernization." IEEE Software 35, no. 6 (2018): 62–67. http://dx.doi.org/10.1109/ms.2018.4321236.

Full text
APA, Harvard, Vancouver, ISO, and other styles
36

Arcelli Fontana, Francesca, Marco Zanoni, Andrea Ranchetti, and Davide Ranchetti. "Software Clone Detection and Refactoring." ISRN Software Engineering 2013 (March 19, 2013): 1–8. http://dx.doi.org/10.1155/2013/129437.

Full text
Abstract:
Several studies have been proposed in the literature on software clones from different points of view and covering many correlated features and areas, which are particularly relevant to software maintenance and evolution. In this paper, we describe our experience on clone detection through three different tools and investigate the impact of clone refactoring on different software quality metrics.
APA, Harvard, Vancouver, ISO, and other styles
37

Tracz, Will. "Refactoring for Software Design Smells." ACM SIGSOFT Software Engineering Notes 40, no. 6 (2015): 36. http://dx.doi.org/10.1145/2830719.2830739.

Full text
APA, Harvard, Vancouver, ISO, and other styles
38

Mens, T., and T. Tourwe. "A survey of software refactoring." IEEE Transactions on Software Engineering 30, no. 2 (2004): 126–39. http://dx.doi.org/10.1109/tse.2004.1265817.

Full text
APA, Harvard, Vancouver, ISO, and other styles
39

Liu, Hui, Xue Guo, and Weizhong Shao. "Monitor-Based Instant Software Refactoring." IEEE Transactions on Software Engineering 39, no. 8 (2013): 1112–26. http://dx.doi.org/10.1109/tse.2013.4.

Full text
APA, Harvard, Vancouver, ISO, and other styles
40

Arcelli, Davide, Vittorio Cortellessa, and Daniele Di Pompeo. "Performance-driven software model refactoring." Information and Software Technology 95 (March 2018): 366–97. http://dx.doi.org/10.1016/j.infsof.2017.09.006.

Full text
APA, Harvard, Vancouver, ISO, and other styles
41

Domander, Richard, Alessandro A. Felder, and Michael Doube. "BoneJ2 - refactoring established research software." Wellcome Open Research 6 (February 22, 2021): 37. http://dx.doi.org/10.12688/wellcomeopenres.16619.1.

Full text
Abstract:
Research software is often developed with expedience as a core development objective because experimental results, but not the software, are specified and resourced as a project output. While such code can help find answers to specific research questions, it may lack longevity and flexibility to make it reusable. We reimplemented BoneJ, our software for skeletal biology image analysis, to address design limitations that put it at risk of becoming unusable. We improved the quality of BoneJ code by following contemporary best programming practices. These include separation of concerns, dependency management, thorough testing, continuous integration and deployment, source code management, code reviews, issue and task ticketing, and user and developer documentation. The resulting BoneJ2 represents a generational shift in development technology and integrates with the ImageJ2 plugin ecosystem.
APA, Harvard, Vancouver, ISO, and other styles
42

Domander, Richard, Alessandro A. Felder, and Michael Doube. "BoneJ2 - refactoring established research software." Wellcome Open Research 6 (April 28, 2021): 37. http://dx.doi.org/10.12688/wellcomeopenres.16619.2.

Full text
Abstract:
Research software is often developed with expedience as a core development objective because experimental results, but not the software, are specified and resourced as a project output. While such code can help find answers to specific research questions, it may lack longevity and flexibility to make it reusable. We reimplemented BoneJ, our software for skeletal biology image analysis, to address design limitations that put it at risk of becoming unusable. We improved the quality of BoneJ code by following contemporary best programming practices. These include separation of concerns, dependency management, thorough testing, continuous integration and deployment, source code management, code reviews, issue and task ticketing, and user and developer documentation. The resulting BoneJ2 represents a generational shift in development technology and integrates with the ImageJ2 plugin ecosystem.
APA, Harvard, Vancouver, ISO, and other styles
43

PAN, WEIFENG, BING LI, BO JIANG, and KUN LIU. "RECODE: SOFTWARE PACKAGE REFACTORING VIA COMMUNITY DETECTION IN BIPARTITE SOFTWARE NETWORKS." Advances in Complex Systems 17, no. 07n08 (2014): 1450006. http://dx.doi.org/10.1142/s0219525914500064.

Full text
Abstract:
It is an intrinsic property of real-world software to evolve, which is usually accompanied by the increase of software complexity and deterioration of software quality. So successful software has to be reconditioned from time to time. Though many refactoring approaches have been proposed, only a few of them are performed at the package level. In this paper, we present a novel approach to refactor the package structure of object-oriented (OO) software. It uses weighted bipartite software networks to represent classes, packages, and their dependencies; it proposes a guidance community detection algorithm (GUIDA) to obtain the optimized package structure; and it finally provides a list of classes as refactoring candidates by comparing the optimized package structure with the real package structure. Through a set of experiments we have shown that the proposed approach is able to identify a majority of classes that experts recognize as refactoring candidates, and the benefits of our approach are illustrated in comparison with other two approaches.
APA, Harvard, Vancouver, ISO, and other styles
44

Daughtry III, John M., and Thomas George Kannampallil. "Refactoring to Patterns." Journal of Object Technology 4, no. 4 (2005): 193. http://dx.doi.org/10.5381/jot.2005.4.4.r2.

Full text
APA, Harvard, Vancouver, ISO, and other styles
45

O’Keeffe, Mark, and Mel Ó Cinnéide. "Search-based refactoring for software maintenance." Journal of Systems and Software 81, no. 4 (2008): 502–16. http://dx.doi.org/10.1016/j.jss.2007.06.003.

Full text
APA, Harvard, Vancouver, ISO, and other styles
46

Riederer, Nadine. "Refactoring: die Frischzellenkur für Legacy-Software." Wirtschaftsinformatik & Management 12, no. 4 (2020): 279–81. http://dx.doi.org/10.1365/s35764-020-00270-2.

Full text
APA, Harvard, Vancouver, ISO, and other styles
47

Liu, Hui, Yang Liu, Guo Xue, and Yuan Gao. "Case study on software refactoring tactics." IET Software 8, no. 1 (2014): 1–11. http://dx.doi.org/10.1049/iet-sen.2012.0121.

Full text
APA, Harvard, Vancouver, ISO, and other styles
48

Garcia, J. Daniel. "Refactoring software to heterogeneous parallel platforms." Journal of Supercomputing 75, no. 8 (2019): 3997–4000. http://dx.doi.org/10.1007/s11227-019-02942-2.

Full text
APA, Harvard, Vancouver, ISO, and other styles
49

Khalilipour, Alireza, Moharram Challenger, Mehmet Onat, Hale Gezgen, and Geylani Kardas. "Refactoring Legacy Software for Layer Separation." International Journal of Software Engineering and Knowledge Engineering 31, no. 02 (2021): 217–47. http://dx.doi.org/10.1142/s0218194021500066.

Full text
Abstract:
One of the main aims in the layered software architecture is to divide the code into different layers so that each layer contains related modules and serves its upper layers. Although layered software architecture is matured now; many legacy information systems do not benefit from the advantages of this architecture and their code for the process/business and data access are mostly in a single layer. In many legacy systems, due to the integration of the code in one layer, changes to the software and its maintenance are mostly difficult. In addition, the big size of a single layer causes the load concentration and turns the server into a bottleneck where all requests must be executed on it. In order to eliminate these deficiencies, this paper presents a refactoring mechanism for the automatic separation of the business and data access layers by detecting the data access code based on a series of patterns in the input code and transferring it to a new layer. For this purpose, we introduce a code scanner which detects the target points based on these patterns and hence automatically makes the changes required for the layered architecture. According to the experimental evaluation results, the performance of the system is increased for the layer separated software using the proposed approach. Furthermore, it is examined that the application of the proposed approach provides additional benefits considering the qualitative criteria such as loosely coupling and tightly coherency.
APA, Harvard, Vancouver, ISO, and other styles
50

ZHOU, Tian-Lin, Liang SHI, Bao-Wen XU, and Yu-Ming ZHOU. "Refactoring C++ Programs Physically." Journal of Software 20, no. 3 (2009): 597–607. http://dx.doi.org/10.3724/sp.j.1001.2009.00550.

Full text
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography