83 research outputs found

    A heuristic-based approach to code-smell detection

    Get PDF
    Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache

    The 1st Conference of PhD Students in Computer Science

    Get PDF

    Syntax Analysis in the Climacs Text Editor

    Get PDF
    The Climacs text editor is a CLIM implementation of a text editor in the Emacs tradition. Climacs was designed to allow for incremental parsing of the buffer contents, so that a sophisticated analysis of the contents can be performed without impacting performance. We describe two different syntax modules: a module for a sequentially-defined syntax of a typical programming language, doing the bulk of its parsing in a per-window function; and an interactive editor for a textual representation of lute tablature, recursively using a per-buffer function for its parsing

    1st Workshop on Refactoring Tools (WRT'07) : Proceedings

    Get PDF

    Methodology for enterprise interoperability assessment

    Get PDF
    Dissertação para obtenção do Grau de Mestre em Engenharia Electrotécnica e de ComputadoresWith the evolution of modern enterprises and the increasing market competitiveness, the creation of ecosystems with large amounts of data and knowledge generally needing to be exchanged electronically, is arising. However, this enterprise inter and intra-connectivity is suffering from interoperability issues. Not visible when it is effective, the lack of interoperability poses a series of challenging problems to the industrial community, which can reduce the envisaged efficiency and increase costs. Those problems are mostly caused by misinterpretations of data at the systems level, but problems at the organizational and human levels may pose equivalent difficulties. Existing research and technology provides several frameworks to assist the development of collaborative environments and enterprise networks with well-defined methods to facilitate interoperability. Nonetheless, the interoperability process is not guaranteed and is not easily sustainable, changing upon frequent market and requirement variations. For these reasons, there is a need for a testing methodology to assess the capability of enterprises to cooperate at a certain point in time. This dissertation proposes a methodology to assess that capability, with a corresponding framework to evaluate the interoperability process, applying eliminatory tests to assess the structure of the organizations, the conceptual models and their implementation. This work contributes to increase the chances enterprises have of interoperating effectively, and enables the adoption of extraordinary measures to improve their current interoperability situation

    Negotiation environment to support enterprise interoperability sustainability

    Get PDF
    Dissertation to obtain the Master degree in Electrical Engineering and Computer ScienceSpecialized and diversified global markets are facing a competitiveness that keeps pushing enterprises to abandon their traditional product centrism, where basically it is enough to concentrate their efforts in very narrow specialization fields and change their methods of work relying on networks of other providers that are able to fulfill their needs towards the development of complete solutions. These new methods of work, regarding the rapid change in markets and business organizations, requires new interoperability demands and complexity levels, from connection and syntax-oriented exchanges to semantic and model-oriented knowledge, which becomes very difficult for enterprises to cope with the pace of change. This dissertation proposes the implementation of a framework, based on agents and rules, to achieve solid and stable integration of solutions, via the use of a strong and formal negotiation mechanism, which will be the basis for increasing the enterprise interoperability in the supply chain for the development of solutions.European Commission through the funding of the FP7 ENSEMBLE, UNITE, MSEE and IMAGINE project

    Control and selection techniques for the automated testing of reactive systems

    Get PDF
    • …
    corecore