8,947 research outputs found

    Analysis of Software Binaries for Reengineering-Driven Product Line Architecture\^aAn Industrial Case Study

    Full text link
    This paper describes a method for the recovering of software architectures from a set of similar (but unrelated) software products in binary form. One intention is to drive refactoring into software product lines and combine architecture recovery with run time binary analysis and existing clustering methods. Using our runtime binary analysis, we create graphs that capture the dependencies between different software parts. These are clustered into smaller component graphs, that group software parts with high interactions into larger entities. The component graphs serve as a basis for further software product line work. In this paper, we concentrate on the analysis part of the method and the graph clustering. We apply the graph clustering method to a real application in the context of automation / robot configuration software tools.Comment: In Proceedings FMSPLE 2015, arXiv:1504.0301

    Using similarity metrics for mining variability from software repositories

    Get PDF

    A Model-Driven Architecture Approach to the Efficient Identification of Services on Service-oriented Enterprise Architecture

    No full text
    Service-Oriented Enterprise Architecture requires the efficient development of loosely-coupled and interoperable sets of services. Existing design approaches do not always take full advantage of the value and importance of the engineering invested in existing legacy systems. This paper proposes an approach to define the key services from such legacy systems effectively. The approach focuses on identifying these services based on a Model-Driven Architecture approach supported by guidelines over a wide range of possible service types

    The impact of enterprise application integration on information system lifecycles

    Get PDF
    Information systems (IS) have become the organisational fabric for intra-and inter-organisational collaboration in business. As a result, there is mounting pressure from customers and suppliers for a direct move away from disparate systems operating in parallel towards a more common shared architecture. In part, this has been achieved through the emergence of new technology that is being packaged into a portfolio of technologies known as enterprise application integration (EAI). Its emergence however, is presenting investment decision-makers charged with the evaluation of IS with an interesting challenge. The integration of IS in-line with the needs of the business is extending their identity and lifecycle, making it difficult to evaluate the full impact of the system as it has no definitive start and/or end. Indeed, the argument presented in this paper is that traditional life cycle models are changing as a result of technologies that support their integration with other systems. In this paper, the need for a better understanding of EAI and its impact on IS lifecycles are discussed and a classification framework proposed.Engineering and Physical Sciences Research Council (EPSRC) Grant Ref: (GR/R08025) and Australian Research Council (DP0344682)

    Recovering Grammar Relationships for the Java Language Specification

    Get PDF
    Grammar convergence is a method that helps discovering relationships between different grammars of the same language or different language versions. The key element of the method is the operational, transformation-based representation of those relationships. Given input grammars for convergence, they are transformed until they are structurally equal. The transformations are composed from primitive operators; properties of these operators and the composed chains provide quantitative and qualitative insight into the relationships between the grammars at hand. We describe a refined method for grammar convergence, and we use it in a major study, where we recover the relationships between all the grammars that occur in the different versions of the Java Language Specification (JLS). The relationships are represented as grammar transformation chains that capture all accidental or intended differences between the JLS grammars. This method is mechanized and driven by nominal and structural differences between pairs of grammars that are subject to asymmetric, binary convergence steps. We present the underlying operator suite for grammar transformation in detail, and we illustrate the suite with many examples of transformations on the JLS grammars. We also describe the extraction effort, which was needed to make the JLS grammars amenable to automated processing. We include substantial metadata about the convergence process for the JLS so that the effort becomes reproducible and transparent
    • 

    corecore