2,229 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

    Information Systems Skills Differences between High-Wage and Low-Wage Regions: Implications for Global Sourcing

    Get PDF
    Developing Information Systems (IS) skills for a company’s workforce has always been challenging, but global sourcing growth has caused the determination of needed IS skills to be more complex. The increased use of outsourcing to an IS service provider and from high-wage regions to low-wage regions has affected what IS skills are required globally and how to distribute the workforce to meet these needs. To understand what skills are needed in locations that seek and those that provide outsourcing, we surveyed IS service provider managers in global locations. Results from 126 reporting units provide empirical evidence that provider units in low-wage regions value technical skills more than those in high-wage regions. Despite the emphasis on commodity skills in low-wage areas, high- and low-wage providers value project management skills. Low-wage regions note global and virtual teamwork more than high-wage regions do. The mix of skills and the variation by region have implications for domestic and offshore sourcing. Service providers can vary their staffing models in global regions which has consequences for recruiting, corporate training, and curriculum

    On the Effect of Semantically Enriched Context Models on Software Modularization

    Full text link
    Many of the existing approaches for program comprehension rely on the linguistic information found in source code, such as identifier names and comments. Semantic clustering is one such technique for modularization of the system that relies on the informal semantics of the program, encoded in the vocabulary used in the source code. Treating the source code as a collection of tokens loses the semantic information embedded within the identifiers. We try to overcome this problem by introducing context models for source code identifiers to obtain a semantic kernel, which can be used for both deriving the topics that run through the system as well as their clustering. In the first model, we abstract an identifier to its type representation and build on this notion of context to construct contextual vector representation of the source code. The second notion of context is defined based on the flow of data between identifiers to represent a module as a dependency graph where the nodes correspond to identifiers and the edges represent the data dependencies between pairs of identifiers. We have applied our approach to 10 medium-sized open source Java projects, and show that by introducing contexts for identifiers, the quality of the modularization of the software systems is improved. Both of the context models give results that are superior to the plain vector representation of documents. In some cases, the authoritativeness of decompositions is improved by 67%. Furthermore, a more detailed evaluation of our approach on JEdit, an open source editor, demonstrates that inferred topics through performing topic analysis on the contextual representations are more meaningful compared to the plain representation of the documents. The proposed approach in introducing a context model for source code identifiers paves the way for building tools that support developers in program comprehension tasks such as application and domain concept location, software modularization and topic analysis

    Software Evolution for Industrial Automation Systems. Literature Overview

    Get PDF

    Abstraction : a notion for reverse engineering.

    Get PDF

    Coalition based approach for shop floor agility – a multiagent approach

    Get PDF
    Dissertation submitted for a PhD degree in Electrical Engineering, speciality of Robotics and Integrated Manufacturing from the Universidade Nova de Lisboa, Faculdade de Ciências e TecnologiaThis thesis addresses the problem of shop floor agility. In order to cope with the disturbances and uncertainties that characterise the current business scenarios faced by manufacturing companies, the capability of their shop floors needs to be improved quickly, such that these shop floors may be adapted, changed or become easily modifiable (shop floor reengineering). One of the critical elements in any shop floor reengineering process is the way the control/supervision architecture is changed or modified to accommodate for the new processes and equipment. This thesis, therefore, proposes an architecture to support the fast adaptation or changes in the control/supervision architecture. This architecture postulates that manufacturing systems are no more than compositions of modularised manufacturing components whose interactions when aggregated are governed by contractual mechanisms that favour configuration over reprogramming. A multiagent based reference architecture called Coalition Based Approach for Shop floor Agility – CoBASA, was created to support fast adaptation and changes of shop floor control architectures with minimal effort. The coalitions are composed of agentified manufacturing components (modules), whose relationships within the coalitions are governed by contracts that are configured whenever a coalition is established. Creating and changing a coalition do not involve programming effort because it only requires changes to the contract that regulates it

    Business rules based legacy system evolution towards service-oriented architecture.

    Get PDF
    Enterprises can be empowered to live up to the potential of becoming dynamic, agile and real-time. Service orientation is emerging from the amalgamation of a number of key business, technology and cultural developments. Three essential trends in particular are coming together to create a new revolutionary breed of enterprise, the service-oriented enterprise (SOE): (1) the continuous performance management of the enterprise; (2) the emergence of business process management; and (3) advances in the standards-based service-oriented infrastructures. This thesis focuses on this emerging three-layered architecture that builds on a service-oriented architecture framework, with a process layer that brings technology and business together, and a corporate performance layer that continually monitors and improves the performance indicators of global enterprises provides a novel framework for the business context in which to apply the important technical idea of service orientation and moves it from being an interesting tool for engineers to a vehicle for business managers to fundamentally improve their businesses

    Same Words, Different Meanings: Are Basic IS/IT Concepts Our Self-Imposed Tower Of Babel?

    Get PDF
    This article began as a response to an exchange of letters concerning the need for more vs. less user participation in IS projects. It grew into an exploration of whether and how ten 1999 CAIS articles use basic IS/IT terms with different meanings and connotations related to the different perspectives of their authors. The article characterizes differences between an IT perspective and a business perspective and categorizes the ten articles accordingly. It then presents numerous quotes from the articles to illustrate differences across the articles in terms of their use of eight basic concepts: system, user, stakeholder, IS project, implementation, reengineering, requirements, and solution. To help understand the differences and their significance, the article makes extensive use of distinctions between work systems, information systems, and projects. When applied to the articles these distinctions raise questions such as whether the term system refers to a work system, information system, or software, and whether the term user refers to hands-on users, people who receive information, or managers whose organizations use information systems. An underlying theme throughout is that the lack of conscious attention to the meaning of basic terms and points of reference may be a significant impediment to effective communication and to our ability to make sense out of research findings and even journalistic anecdotes about what seemed to work or not work in particular situations. NOTE: THIS ARTICLE IS A FOLLOW UP TO ALTER\u27S ARTICLE 13 IN VOLUME 1 OF CAIS ON THE THEORY OF I

    The Cobasa Architecture as an Answer to Shop Floor Agility

    Get PDF
    • …
    corecore