1,310 research outputs found

    A Retrospective View of Software Maintenance and Reengineering Research.

    Get PDF
    As a summary of past, current, and future trends in software maintenance and reengineering research, we give in this editorial a retrospective look from the past 14 years to now. We provide insight on how software maintenance has evolved and on the most important research topics presented in the series of the European Conference on Software Maintenance and Reengineering

    Software Evolution for Industrial Automation Systems. Literature Overview

    Get PDF

    ModelVars2SPL : an automated approach to reengineer model variants into software product lines

    Get PDF
    Orientadora : Profª. Drª. Silvia R. VergilioCoorientador : Prof Dr. Roberto E. Lopez-HerrejonTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 11/04/2017Inclui referências : f. 74-82Área de concentração : Ciência da computaçãoResumo: Linhas de Produto de Software (LPSs) são famílias de sistemas de software relacionados que são desenvolvidos para um segmento de mercado ou domínio. Comumente, LPSs surgem de um conjunto de variantes existentes, quando a manutenção e/ou evolução individuais tornam-se complexas. Contudo, as abordagens encontradas na literatura para extração de LPS a partir de variantes existentes não dão suporte a modelos de projeto, são parcialmente automatizadas, ou não refletem restrições de domínio em termos de combinação de características. Para lidar com estas limitações, o objetivo deste trabalho é apresentar uma abordagem automatizada para fazer a reengenharia de variantes de modelos em uma LPS, chamada ModelVars2SPL (Variantes de Modelos para Linha de Produto de Software, do Inglês Model Variants to Software Product Line). A entrada para a abordagem é um conjunto de diagramas de classe Linguagem de Modelagem Unificada (UML) e uma lista de características que estes implementam. Todo o processo de reengenharia é coberto, e a saída inclui (i) um Modelo de Características, que representa a combinação de características das variantes de entrada, e (ii) uma Arquitetura de Linha de Produto, que representa uma arquitetura global com características anotadas. O processo de reengenharia da ModelVars2SPL é composto por quatro passos, sendo dois deles apoiados em técnicas baseadas em busca, e os dois outros baseados em algoritmos determinísticos. Não existe a necessidade de especialistas humanos para obter soluções. Para avaliar a abordagem proposta, foi conduzido um experimento para aferir a qualidade das soluções obtidas. A qualidade dos Modelos de Características e das Arquiteturas de Linha de Produto foi medida considerando-se o quão bem as variantes de entrada foram representadas. Além disso, a qualidade das saídas em cada passo da abordagem foi avaliada levando-se em consideração os objetivos do processo de reengenharia. Para a experimentação utilizaram-se dez estudos de caso representando dois cenários diferentes. Os resultados da avaliação mostram que a abordagem consegue obter soluções com alto grau de corretude em termos de representação das variantes de entrada, e que as saídas dos passos estão de acordo com as fases do processo de reengenharia. Com base em um exemplo de uso de uma solução mostra-se como os artefatos de LPS obtidos facilitam a atividade de manutenção. Palavras-chave: Reúso, Reengenharia, Linha de Produto de Software, Extração de LPS, Engenharia de Software Baseada em Busca.Abstract: Software Product Lines (SPLs) are families of related software systems developed for specific market segments or domains. SPLs commonly emerge from sets of existing variants when their individual maintenance and/or evolution become complex. However, current approaches for SPL extraction from existing variants do not support design models, are partially automated, or do not reflect domain constraints in terms of feature combinations. To tackle these limitations, the goal of this work is to present an automated approach to reengineer model variants into an SPL, called ModelVars2SPL (Model Variants to Software Product Line). The input of the approach is a set of Unified Modeling Language (UML) class diagrams and the list of features they implement. All the reengineering process is covered, and the output includes (i) a Feature Model, which represents the combinations of features of the input variants, and (ii) a Product Line Architecture, which represents a global architecture with feature-related annotations. The reengineering process of ModelVars2SPL is composed of four steps, two of them rely on searchbased techniques and the others are based on deterministic algorithms. There is no need for human experts for obtaining solutions. We conducted an experiment to evaluate the quality of the solutions obtained with the proposed approach. The quality of the FMs and PLAs was measured by considering how well these artifacts represent the input variants. Furthermore, we evaluate the quality of the outputs in each step of the approach taking into account the goals of the reengineering process. For the experimentation we used ten case studies representing two di_erent scenarios. The results of the evaluation show that the approach can obtain solutions with high degree of correctness in terms of representing the input variants, and that the outputs of the steps are in accordance to the phases of the reengineering process. Based on an example of use we show how the obtained FM and PLA make easier the maintenance activity. Keywords: Reuse, Reengineering, Software Product Line, SPL extraction, Search-Based Software Engineering

    Code Smells and Refactoring: A Tertiary Systematic Review of Challenges and Observations

    Full text link
    In this paper, we present a tertiary systematic literature review of previous surveys, secondary systematic literature reviews, and systematic mappings. We identify the main observations (what we know) and challenges (what we do not know) on code smells and refactoring. We show that code smells and refactoring have a strong relationship with quality attributes, i.e., with understandability, maintainability, testability, complexity, functionality, and reusability. We argue that code smells and refactoring could be considered as the two faces of a same coin. Besides, we identify how refactoring affects quality attributes, more than code smells. We also discuss the implications of this work for practitioners, researchers, and instructors. We identify 13 open issues that could guide future research work. Thus, we want to highlight the gap between code smells and refactoring in the current state of software-engineering research. We wish that this work could help the software-engineering research community in collaborating on future work on code smells and refactoring

    Investigating Successful Enterprise Resource Planning Implementation in Higher Education Institutions

    Get PDF
    This thesis investigates the successful implementation of Enterprise Resource Planning (ERP) in Higher Educational Institutions (HEIs). ERP is a business management system that has emerged to support organisations with a system of integrated applications to enhance their Information Technology (IT) infrastructures, enhance business processes and deliver a high quality of services. Research indicates limited success for implementing numerous ERP ventures and failure rates estimated between 60% and 90%. The failure of ERP implementation in higher education institutions (HEIs) worldwide is much higher in comparison to other sectors, such as banking or manufacturing, yet limited research has been conducted on this issue. There is a lack of sufficient knowledge, expertise and training to implement such sophisticated integrated systems and top management lacks the ability to take appropriate decisions for ERP implementation. However, merely focusing on several factors influencing ERP implementation may not suffice, as there is a need for a systematic decision-making process for adopting and implementing ERP systems in HEIs. The limited number of ERP applications being used in HEIs has resulted in inadequate research and many issues which require further exploration. Despite this, all the implications for successful implementation of ERP systems have yet to be assessed in HEIs, making it a relevant area for study and creating a need for a unique piece of research work. Thus, the researcher demonstrates that it is of high importance to investigate this area and contribute towards successful ERP implementations. The present study adopted an interpretivist research philosophy and the approach was inductive in nature. To collect the data from the selected case studies, a semi structured interview protocol was designed in accordance with the research objectives which was aimed at getting the views and opinions of both the higher management personnel as well as technical level staff from the selected sample of universities. The study was focused on the implementation of ERP systems for higher education institutions in Jordan. Jordan has the highest demand for higher education in the region and the number of enrolments is growing annually. The demand for ERP systems in Jordan is rising owing to the rapid growth of the Internet and mobile users and the increase in the literacy rate. The content analysis technique was used supported by NVivi11 software to process the data gathered from the sample. The key success factors identified from the participants were split into technical, organizational, project and project support categories. This research made several contributions to knowledge. These included 1) the identification and characterisation of three new sector and context-specific KSFs, namely: the selection of the right ERP system; the need for qualified IT staff for in-house maintenance and fair vendor relations. 2) The development of a framework for enhancing ERP implementation. 3) Evaluation measures of ERP performance from an organisational, technical, project, and project support system perspective. 4) Development of a synthesized model that contains mapped and prioritised KSFs on the ERP implementation lifecycle based on their importance for successful implementation. In addition to these reflected theoretical contributions, this research also highlights the implications on the practices of higher education institutes, particularly for, but not limited to, Jordanian HEIs. The research findings provide an insight into the KSFs that are important for the successful implementation of ERP systems, identifying two new implementation lifecycle stages, the influential factors being mapped across the lifecycle phases providing a more detailed and in-depth understanding of what is required

    Risk management in enterprise resource planning projects

    Get PDF
    In recent years Enterprise Resource Planning (ERP) systems have received much attention. ERP are extremely complex information systems, whose implementation is often a complex adventure for business enterprises. The organizational relevance and risk of ERP projects make it important for organizations to focus on ways to make ERP implementation successful. However, dealing with risk management in ERP project introduction is an ambitious task. Numerous risk factors have to be taken into account which include technological and managerial aspects, both psychological and sociological; moreover they can be deeply interconnected and have indirect e ects on the project. Therefore, the risk management process is highly difficult and uncertain. The general purpose of this study is to develop an innovative risk management methodology supporting the formulation of risk treatment strategies and actions during ERP introduction projects in order to nally improve the success rate. In this thesis, the research context, framework and methodology are presented; then main phases are introduced and results discussed

    Kollaboratives Reengineering und Modularisieren von Softwaresystemen

    Get PDF
    Software systems evolve over their lifetime. Changing requirements make it inevitable for developers to modify and extend the underlying code base. Specific requirements emerge in the context of open source software where everybody can contribute and requirements can change over time. In particular, research software is often not structured with a maintainable and extensible architecture. Furthermore, often databases are employed for retrieving, storing, and processing application data. Insufficient knowledge of the actual structure and behavior of such software systems and related databases can entail further challenges. Thus, understanding these software systems embodies a crucial task, which needs to be addressed in an appropriate way to face inevitable challenges while performing software changes. Approaches based on alternative display and interaction concepts can support this task by offering a more immersive user experience. In this thesis, we introduce three complementary approaches to support the evolution and particularly understanding of software systems in different aspects. Our main contributions are (i) an approach named CORAL for enabling collaborative reengineering and modularization of software systems, (ii) a gesture-based, collaborative, and multi-user-featuring Virtual Reality approach named ExplorViz VR for the software city metaphor, and (iii) a database behavior live-visualization approach named RACCOON for database comprehension of software systems. An extensive case study shows that our CORAL approach is capable of supporting reengineering and modularization processes. Furthermore, several lab experiments demonstrate the high usability, and efficiency and effectiveness for solving comprehension tasks when using the visualization within our multi-user VR approach ExplorViz VR. All implementations are available as open-source software on www.explorviz.net. Additionally, we provide an extensive experimental package of our latest VR evaluation to facilitate the verifiability and reproducibility of our results

    Engineering Blockchain Based Software Systems: Foundations, Survey, and Future Directions

    Full text link
    Many scientific and practical areas have shown increasing interest in reaping the benefits of blockchain technology to empower software systems. However, the unique characteristics and requirements associated with Blockchain Based Software (BBS) systems raise new challenges across the development lifecycle that entail an extensive improvement of conventional software engineering. This article presents a systematic literature review of the state-of-the-art in BBS engineering research from a software engineering perspective. We characterize BBS engineering from the theoretical foundations, processes, models, and roles and discuss a rich repertoire of key development activities, principles, challenges, and techniques. The focus and depth of this survey not only gives software engineering practitioners and researchers a consolidated body of knowledge about current BBS development but also underpins a starting point for further research in this field
    corecore