2,989 research outputs found

    Towards automated restructuring of object oriented systems

    Get PDF
    The work introduces a method for diagnosing design flaws in object oriented systems, and finding meaningful refactorings to remove such flaws. The method is based on pairing up a structural pattern that is considered pathological (e.g. a code smell or anti-pattern) with a so called design context. The design context describes the design semantics associated to the pathological structure, and the desired strategic closure for that fragment. The process is tool supported and largely automated

    A method for re-modularising legacy code

    Get PDF
    This thesis proposes a method for the re-modularisation of legacy COBOL. Legacy code often performs a number of functions that if split, would improve software maintainability. For instance, program comprehension would benefit from a reduction in the size of the code modules. The method aims to identify potential reuse candidates from the functions re-modularised, and to ensure clear interfaces are present between the new modules. Furthermore, functionality is often replicated across applications and so the re-modularisation process can also seek to reduce commonality and hence the overall amount of a company's code requiring maintenance. A 10 step method is devised which assembles a number of new and existing techniques into an approach suitable for use by staff not having significant reengineering experience. Three main approaches are used throughout the method; that is the analysis of the PERFORM structure, the analysis of the data, and the use of graphical representations. Both top-down and bottom-up strategies to program comprehension are incorporated within the method as are automatable, and user controlled processes to reuse candidate selection. Three industrial case studies are used to demonstrate and evaluate the method. The case studies range in size to gain an indication of the scalability of the method. The case studies are used to evaluate the method on a step by step basis; both strong points and deficiencies are identified, as well as potential solutions to the deficiencies. A review is also presented to assesses the three main approaches of the methods; the analysis of the PERFORM and data structures, and the use of graphical representations. The review uses the process of software evolution for its evaluation using successive versions of COBOL software. The method is retrospectively applied to the earliest version and the known changes identified from the following versions are used to evaluate the re-modularisations. Within the evaluation chapters a new link within the dominance tree is proposed as is an approach for dealing with multiple dominance trees. The results show that «ach approach provides an important contribution to the method as well as giving a useful insight (in the form of graphical representations) of the process of software evolution

    Search based software engineering: Trends, techniques and applications

    Get PDF
    © ACM, 2012. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version is available from the link below.In the past five years there has been a dramatic increase in work on Search-Based Software Engineering (SBSE), an approach to Software Engineering (SE) in which Search-Based Optimization (SBO) algorithms are used to address problems in SE. SBSE has been applied to problems throughout the SE lifecycle, from requirements and project planning to maintenance and reengineering. The approach is attractive because it offers a suite of adaptive automated and semiautomated solutions in situations typified by large complex problem spaces with multiple competing and conflicting objectives. This article provides a review and classification of literature on SBSE. The work identifies research trends and relationships between the techniques applied and the applications to which they have been applied and highlights gaps in the literature and avenues for further research.EPSRC and E

    Principles in Patterns (PiP) : Project Evaluation Synthesis

    Get PDF
    Evaluation activity found the technology-supported approach to curriculum design and approval developed by PiP to demonstrate high levels of user acceptance, promote improvements to the quality of curriculum designs, render more transparent and efficient aspects of the curriculum approval and quality monitoring process, demonstrate process efficacy and resolve a number of chronic information management difficulties which pervaded the previous state. The creation of a central repository of curriculum designs as the basis for their management as "knowledge assets", thus facilitating re-use and sharing of designs and exposure of tacit curriculum design practice, was also found to be highly advantageous. However, further process improvements remain possible and evidence of system resistance was found in some stakeholder groups. Recommendations arising from the findings and conclusions include the need to improve data collection surrounding the curriculum approval process so that the process and human impact of C-CAP can be monitored and observed. Strategies for improving C-CAP acceptance among the "late majority", the need for C-CAP best practice guidance, and suggested protocols on the knowledge management of curriculum designs are proposed. Opportunities for further process improvements in institutional curriculum approval, including a re-engineering of post-faculty approval processes, are also recommended

    Development of a lean principles framework for ERP implementation process

    Get PDF
    The aim of this research is to develop a novel framework based on lean principles and tools to be exploited in managing ERP implementation processes in order to enhance the overall success rate of the implementation project, which in turn minimises cost and time overruns. The framework consists of three stages built in a logical sequence taking into consideration the requirements of ERP projects implementations and the lean transformation principles. The first stage starts with an assessment model to measure the organisational readiness for implementing ERP system using leanness assessment approach. The second stage of the framework introduces the use of the Obeya lean tool along with a change management model to help visualize and streamlining the process of ERP implementation. In the final stage, a value stream mapping technique is used to identify potential waste occurrence and eliminate non-value adding activities from the process. As a result, a new eight stages ERP implementation process is developed and presented with descriptions on the activities encompassed in each stage. A research methodology consisting of four major phases was employed to attain the targeted objectives of the research; beginning with project initiation and contextual definition followed by data collection and field study. The data acquired from the previous two phases were used to conduct a thorough analysis from which key findings were drawn and used in the creative development of the readiness assessment model and the framework. Finally, elementary aspects of the framework were put to scrutiny through live case studies and professional expert judgement. The author made use of both qualitative and quantitative research measures. A validation for the ERP readiness assessment model is conducted initially on three case studies, and then the whole framework is validated through two other case studies and experts’ judgments. The results and overall feedback reflected a high level of acceptance of the framework structure and approach. The novel framework has the capability to improve the ERP implementation process providing it is utilised fully. It helps organisation to successfully deliver ERP systems on time, on budget, and with the required functionalities with high-level of acceptance from all stakeholders

    Analyzing the co-evolution of comments and source code

    Get PDF
    Source code comments are a valuable instrument to preserve design decisions and to communicate the intent of the code to programmers and maintainers. Nevertheless, commenting source code and keeping comments up-to-date is often neglected for reasons of time or programmers obliviousness. In this paper, we investigate the question whether developers comment their code and to what extent they add comments or adapt them when they evolve the code. We present an approach to associate comments with source code entities to track their co-evolution over multiple versions. A set of heuristics are used to decide whether a comment is associated with its preceding or its succeeding source code entity. We analyzed the co-evolution of code and comments in eight different open source and closed source software systems. We found with statistical significance that (1) the relative amount of comments and source code grows at about the same rate; (2) the type of a source code entity, such as a method declaration or an if-statement, has a significant influence on whether or not it gets commented; (3) in six out of the eight systems, code and comments co-evolve in 90% of the cases; and (4) surprisingly, API changes and comments do not co-evolve but they are re-documented in a later revision. As a result, our approach enables a quantitative assessment of the commenting process in a software system. We can, therefore, leverage the results to provide feedback during development to increase the awareness of when to add comments or when to adapt comments because of source code change

    A Big Bang versus a Small Bang Approach: A Case Study of the Expeditionary Combat Support System (ECSS) and the Maintenance, Repair, and Overhaul Initiative (MROi)

    Get PDF
    In 2003, the United States Air Force embarked on one of the largest and most comprehensive logistical transformation to delineate the logistics community’s strategy for supporting the warfighter. A key aspect of this campaign plan was to leverage information technology through an enterprise resource planning (ERP) solution called the Expeditionary Combat Support System (ECSS), a “big-bang” approach. In early 2012, the ECSS program was cancelled mainly due to uncontrollable increases in costs and schedule overruns. In late 2012, the Air Force Sustainment Center (AFSC) launched the Maintenance, Repair, and Overhaul initiative (MROi), a “small-bang” approach, to increase enterprise visibility and efficiency across all three Air Logistics Complexes and Aircraft Maintenance and Regeneration Group. Additionally, MROi should fill some of the gaps deferred by ECSS. MROi is a means to salvage, correct, and continue the work started during the ECSS project. AFSC attempts to transform itself into a more capable organization thru MROi while providing savings to the taxpayers from resulting improvements in efficiencies. The MROi team attempts not to ignore lessons learned from ECSS; however, MROi is delayed by acquisition category determination, system implementation source selection, and network architecture evaluation, which are out of their control. Critical success factors, antecedents, and theories were discovered that can help develop a framework that may be of great importance to the government
    corecore