263 research outputs found

    “Refactoring” Refactoring

    Get PDF
    Code refactoring’s primary impetus is to control technical debt, a metaphor for the cost in software development due to the extraneous human effort needed to resolve confusing, obfuscatory, or hastily-crafted program code. While these issues are often described as causing “bad smells,” not all bad smells emanate from the code itself. Some (often the most pungent and costly) originate in the formation, or expressions, of the antecedent intensions the software proposes to satisfy. Paying down such technical debt requires more than grammatical manipulations of the code. Rather, refactoring in this case must attend to a more inclusive perspective; particularly how stakeholders perceive the artifact; and their conception of quality – their appreciative system. First, this paper explores refactoring as an evolutionary design activity. Second, we generalize, or “refactor,” the concept of code refactoring, beyond changes to code structure, to improving design quality by incorporating the stakeholders’ experience of the artifact as it relates to their intensions. Third, we integrate this refactored refactoring as the organizing principle of design as a reflective practice. The objective is to improve the clarity, understandability, maintainability, and extensibility manifest in the stakeholder intensions, in the artifact, and in their interrelationship

    Refactoring, reengineering and evolution: paths to Geant4 uncertainty quantification and performance improvement

    Full text link
    Ongoing investigations for the improvement of Geant4 accuracy and computational performance resulting by refactoring and reengineering parts of the code are discussed. Issues in refactoring that are specific to the domain of physics simulation are identified and their impact is elucidated. Preliminary quantitative results are reported.Comment: To be published in the Proc. CHEP (Computing in High Energy Physics) 201

    Statistical Analysis of Eclipse Refactoring Bug Reports

    Get PDF
    Software refactoring is the process of making code changes to a program to improve its structure, design, and implementation, in such a way that it does not change the original program behavior. One example is the “rename” refactoring that changes program elements to new names that are easier to understand. Many software development tools, including Eclipse, offer various built-in refactorings such as rename, move, extract, etc. However, we discovered that over four thousand bugs related to Eclipse refactorings were reported as of January 2021. Many of these bugs get fixed after they are reported on the Eclipse bug report website (called Bugzilla), but others remain unfixed or even forgotten. This raises interesting questions – What percentage of refactoring bugs cannot be fixed or will not be fixed? How long does it take for a bug to get fixed on average? etc. Our analysis of the reported refactoring bugs showed that 20% of the bugs would not be fixed. We also found that on average, an Eclipse refactoring bug takes 223 days to be fixed. To the best of our knowledge, our research work is the first statistical analysis of the Eclipse refactoring bug reports in Bugzilla

    Behind the Intents: An In-depth Empirical Study on Software Refactoring in Modern Code Review

    Get PDF
    Code refactorings are of pivotal importance in modern code review. Developers may preserve, revisit, add or undo refactorings through changes’ revisions. Their goal is to certify that the driving intent of a code change is properly achieved. Developers’ intents behind refactorings may vary from pure structural improvement to facilitating feature additions and bug fixes. However, there is little understanding of the refactoring practices performed by developers during the code review process. It is also unclear whether the developers’ intents influence the selection, composition, and evolution of refactorings during the review of a code change. Through mining 1,780 reviewed code changes from 6 systems pertaining to two large open-source communities, we report the first in-depth empirical study on software refactoring during code review. We inspected and classified the developers’ intents behind each code change into 7 distinct categories. By analyzing data generated during the complete reviewing process, we observe: (i) how refactorings are selected, composed and evolved throughout each code change, and (ii) how developers’ intents are related to these decisions. For instance, our analysis shows developers regularly apply non-trivial sequences of refactorings that crosscut multiple code elements (i.e., widely scattered in the program) to support a single feature addition. Moreover, we observed that new developers’ intents commonly emerge during the code review process, influencing how developers select and compose their refactorings to achieve the new and adapted goals. Finally, we provide an enriched dataset that allows researchers to investigate the context and motivations behind refactoring operations during the code review process

    Porting the NetBeans Java 8 Enhanced For Loop Lambda Expression Refactoring to Eclipse

    Full text link
    Java 8 is one of the largest upgrades to the popular language and framework in over a decade. However, the Eclipse IDE is missing several key refactorings that could help developers take advantage of new features in Java 8 more easily. In this paper, we discuss our ongoing work in porting the enhanced for loop to lambda expression refactoring from the NetBeans IDE to Eclipse. We also discuss future plans for new Java 8 refactorings not found in any current IDE

    Teaching about firewall concepts using the iNetwork simulator

    Full text link
    The iNetwork Simulator is a software application created provides a user-friendly graphical interface for building and simulating basic communication networks. Such networks can comprise of devices such as workstations, servers, switches and routers. This project enhances the iNetwork Simulator application by allowing firewalls to be simulated. Firewalls play in integral part in the security infrastructure of many organisations (and individuals). Being able to interact with a virtual firewall would benefit many students with an interest in the security-related aspects of communication networks. The firewall component was implemented using the Microsoft .NET Framework and the C# programming language (the same platform used to originally develop the iNetwork Simulator application). The full software development lifecycle was followed during the course of this project. © 2006 IEEE

    Improving Software Quality Attributes of PS Using Stylecop

    Get PDF
    Software product quality improvement is a desired attribute and a strenuous effort is required to achieve that Static Code Analysis SCA is used to find coding bugs Stylecop is an SCA tool from Microsoft In this paper SCA and stylecop usages are discussed Also a comparison of Software Testing software Metrics Source Code Analysis SCA is done Product PS designed by author1 and author2 is introduced PS application is analyzed using static SCA tool Stylecop After analysis recommendations were applied to PS The results showed improved software quality attribute

    Pemanfaatan Media Internet untuk Membantu Menyusun Data Siswa Berbasis Web pada SMP PGRI 2 Waway Karya Lampung Timur

    Get PDF
    Sekolah Menengah Pertama (SMP) PGRI 2 Waway Karya Lampung Timur, bertujuan untuk ikut serta dalam kegiatan mencerdaskan kehidupan bangsa dengan berpartisipasi dalam dunia pendidikan. Siswa siswa yang di didik di sana merupakan siswa yang melanjutkan studi dari jenjang sebelumnya, mereka berdomisili dari daerah sekitarnya. Untuk mendapatkan informasi mengenai sekolah tersebut, masyarakat mendapatkannya langsung hanya dari siswa maupun guru yang belajar dan mengajar disana. Hal ini berkendala bagi calon siswa yang ada diluar daerah tersebut.  Dalam penelitian untuk membuat Sistem Informasi Data Siswa Berbasis Web, peneliti menggunakan metodologi penelitian Extreme Programming dengan alat bantu pengembangan sistemnya yaitu UML (Unifeld Modelling Language) berupa Usecase, Diagram Aktifitas, dan Class Diagram, guna menggambarkan semua kegiatan dan aktifitas yang dilakukan ataupun yang akan dibuat dalam penelitian ini. Hasil langsung yang dapat dirasakan setelah Sistem Informasi Data Siswa SMP PGRI 2 Waway Karya Lampung Timur di upload di internet adalah kemudahan user dalam memperoleh informasi data mengenai sekolah ini, informasi data siswa, fasilitas yang ada dan juga bisa mempermudah calon siswa untuk dapat melakukan pendaftaran siswa baru disekolah ini dengan hanya mengakses diinternet. Sehingga lebih mudah, cepat dan bisa dilakukan kapan saja
    • 

    corecore