354,222 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 Political Economy of Privatization

    Get PDF
    International organizations promote privatization as precondition for economic development. But is there really too little privatization? This political economy model asks for the incentives of governments to privatize or restructure a state-owned firm. Different government types are compared to identify the political and institutional determinants of privatization. Under privatization, governments commit not to influence the profit-maximizing employment choice by private investors. With respect to the social optimum, both voter-oriented and egoistic governments can have inefficiently high incentives to privatize. When this is the case, outside pressure to privatize is detrimental. An improving institutional environment reduces these inefficiencies

    Crosscutting, what is and what is not? A Formal definition based on a Crosscutting Pattern

    Get PDF
    Crosscutting is usually described in terms of scattering and tangling. However, the distinction between these concepts is vague, which could lead to ambiguous statements. Sometimes, precise definitions are required, e.g. for the formal identification of crosscutting concerns. We propose a conceptual framework for formalizing these concepts based on a crosscutting pattern that shows the mapping between elements at two levels, e.g. concerns and representations of concerns. The definitions of the concepts are formalized in terms of linear algebra, and visualized with matrices and matrix operations. In this way, crosscutting can be clearly distinguished from scattering and tangling. Using linear algebra, we demonstrate that our definition generalizes other definitions of crosscutting as described by Masuhara & Kiczales [21] and Tonella and Ceccato [28]. The framework can be applied across several refinement levels assuring traceability of crosscutting concerns. Usability of the framework is illustrated by means of applying it to several areas such as change impact analysis, identification of crosscutting at early phases of software development and in the area of model driven software development

    Early aspects: aspect-oriented requirements engineering and architecture design

    Get PDF
    This paper reports on the third Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop, which has been held in Lancaster, UK, on March 21, 2004. The workshop included a presentation session and working sessions in which the particular topics on early aspects were discussed. The primary goal of the workshop was to focus on challenges to defining methodical software development processes for aspects from early on in the software life cycle and explore the potential of proposed methods and techniques to scale up to industrial applications

    Strategic Directions in Object-Oriented Programming

    Get PDF
    This paper has provided an overview of the field of object-oriented programming. After presenting a historical perspective and some major achievements in the field, four research directions were introduced: technologies integration, software components, distributed programming, and new paradigms. In general there is a need to continue research in traditional areas:\ud (1) as computer systems become more and more complex, there is a need to further develop the work on architecture and design; \ud (2) to support the development of complex systems, there is a need for better languages, environments, and tools; \ud (3) foundations in the form of the conceptual framework and other theories must be extended to enhance the means for modeling and formal analysis, as well as for understanding future computer systems

    What Does Aspect-Oriented Programming Mean for Functional Programmers?

    Get PDF
    Aspect-Oriented Programming (AOP) aims at modularising crosscutting concerns that show up in software. The success of AOP has been almost viral and nearly all areas in Software Engineering and Programming Languages have become "infected" by the AOP bug in one way or another. Interestingly the functional programming community (and, in particular, the pure functional programming community) seems to be resistant to the pandemic. The goal of this paper is to debate the possible causes of the functional programming community's resistance and to raise awareness and interest by showcasing the benefits that could be gained from having a functional AOP language. At the same time, we identify the main challenges and explore the possible design-space

    Measuring the Performance of Livability Programs, MTI Report 12-06

    Get PDF
    This report analyzes the performance measurement processes adopted by five large “livability” programs throughout the United States. It compares and contrasts these programs by examining existing research in performance measurement methods. The “best practices” of the examined performance measurement methods for each program are explored and analyzed with respect to their key characteristics. The report entails an appropriately comprehensive literature review of the current research on performance measurement methods from the perspective of various stakeholders including the public and government agencies. Additionally, the results of this literature review are used to examine the actual performance measures of the target programs from the perspective of different stakeholders. The goal of the report is to determine what did and did not work in these programs and their measurement methods, while making recommendations based on the results of the analysis for potential future programs

    No Californian Left Behind: Clean and Affordable Transportation Options for All Through Vehicle Replacement

    Get PDF
    As California focuses in on new, high-tech, best-in-class transportation strategies, it risks leaving behind an important subset of households and communities who could most benefit from the transition to a cleaner, cheaper, and more sustainable transportation future. Hundreds of thousands of low-income Californians, particularly those in rural parts of the state, live with some of the worst air pollution in the U.S. They also often drive relatively old, inefficient, unsafe, and highly polluting vehicles, and struggle to cover the costs of their basic transportation needs. For these Californians, getting into a relatively more efficient vehicle is more realistic than getting into a new electric vehicle, which is expensive, or onto public transit, which is often ineffective in serving rural and non-urban households.The state has recognized this problem and attempted to address it by focusing on vehicle repair and retirement programs. However, by merely repairing and retiring vehicles and not replacing them with cleaner, more efficient ones, existing programs do not maximize long-term air benefits or lessen the financial burden these inefficient vehicles currently place on low-income Californians. To help address this issue, Senate Bill 459, signed by Governor Brown in September 2013, directs the California Air Resources Board (ARB) to rewrite the guidelines of California's Enhanced Fleet Modernization Program (EFMP). This program has been in place since 2010, and is designed to allow residents who own the highest-emitting vehicles in the state to retire and/or replace them.In this report, we discuss the contribution made by these highly polluting vehicles to the state's air quality problems; we also discuss the serious drag that driving these vehicles can have on household budgets. After outlining these problems, we discuss the state's current policies aimed at promoting vehicle retirement and replacement and offer some recommendations for improving those programs.California is already a leader in advanced and high-tech transportation and transit solutions. It is time we also became a leader in pragmatic solutions for a population that is sometimes left behind in these discussions: non-urban, low-income, car-dependent households. Bringing solutions to these communities will have a huge impact on our current air quality and family budgets; it will also widen the circle of Californians who play an active part in moving this state toward a cleaner, less oil-dependent future

    Paved with Good Intentions: The Failure of Passive Disability Policy in Canada

    Get PDF
    It is common in the disability community to speak of unfulfilled aspirations for full citizenship and participation in the mainstream of Canadian society. In Canada, as in much of the developed world, many adults with disabilities remain outside the mainstream, especially in regard to economic opportunities. Unfortunately, many of the disability policies currently pursued by Canadian governments are unlikely to improve this situation, and may in fact make it worse. This paper offers a critical analysis of a common instrument of current disability policy, the passive cash benefit. I will focus, in particular, on the effects of passive transfers on prospects for adults with disabilities to reach their full income potential through employment. I will attempt to establish that passive income support strategies – for adults with disabilities and for low-income people in general – force their intended beneficiaries to sacrifice employment prospects for help with short-term income needs, a trade-off that reinforces poverty and dependency over the longer term
    corecore