27 research outputs found

    My favorite editor anywhere

    Get PDF
    How can off-the-shelf editors be reused in applications that need mature editing support? We describe our editor multiplexer which enables interactive, application guided editing sessions using e.g. GNU Emacs and Vim. At a cost of less than 1 KLOC of editor specific glue code, both IDE builders and users benefit. Rapid integration of existing editors reduces application development cost, and users are not confronted with yet another foreign editor with its own learning curv

    Perinnejärjestelmien määritys ja niiden ongelmat organisaatioissa

    Get PDF
    Tiivistelmä. Tietojärjestelmät ovat nykyaikaisten yritysten liiketoiminnan edellytys. Usein nämä liiketoiminnalle kriittiset järjestelmät on kehitetty kymmeniä vuosia sitten. Järjestelmille on tyypillistä niiden aiheuttamat ongelmat niin järjestelmän kehityksessä, ylläpidossa kuin itse organisaatioissa. Jotta järjestelmä vastaisi organisaation kasvavia liiketoimintavaatimuksia, on järjestelmää päivitetään jatkuvasti. Nämä toistuvat muutokset kuitenkin lisäävät kumulatiivisesti järjestelmän monimutkaisuutta. Tällaisia järjestelmiä kutsutaan perinnejärjestelmiksi. Tämän tutkielman tarkoituksena on selvittää, miten perinnejärjestelmä määritellään ja minkälaisia ongelmia se tuo eri organisaatioissa. Kirjallisuuskatsauksen pohjalta löydettiin neljä yhteinäistä perinnejärjestelmän ominaisuutta: Järjestelmä on joustamaton, kooltaan suuri, iältään vanha, ja sen täytyy olla liiketoiminnallisesti kriittinen järjestelmä. Perinnejärjestelmiä on vaikea, ja joissain tapauksissa jopa mahdontonta, jatkokehittää. Huono jatkokehitettävyys johtuu koodikannan laajuudesta ja huonosta dokumentaatiosta. Vuosien aikana järjestelmässä on työskennellyt usea eri ylläpitäjä käyttäen erilaisia ohjelmointimalleja ja käytänteitä. Kun tarvittavat yhdenmukaisuutta parantavat refaktoroinnit on jätetty tekemättä, on järjestelmässä ohjelmointikäytänteitä useilta eri vuosikymmeniltä. Dokumentaation puuttuessa tiettyjä toiminnallisuuksia on saatettu toistaa useisiin eri kohtiin lähdekoodissa, mikä entisestään huonontaa jatkokehitettävyyttä. Tutkielma on toteutettu systemaattisena kirjallisuuskatsauksena

    Deriving tolerant grammars from a base-line grammar

    Get PDF
    A grammar-based approach to tool development in re- and reverse engineering promises precise structure awareness, but it is problematic in two respects. Firstly, it is a considerable up-front investment to obtain a grammar for a relevant language or cocktail of languages. Existing work on grammar recovery addresses this concern to some extent. Secondly, it is often not feasible to insist on a precise grammar, e.g., when different dialects need to be covered. This calls for tolerant grammars. In this paper, we provide a well-engineered approach to the derivation of tolerant grammars, which is based on previous work on error recovery, fuzzy parsing, and island grammars. The technology of this paper has been used in a complex Cobol restructuring project on several millions of lines of code in different Cobol dialects. Our approach is founded on an approximation relation between a tolerant grammar and a base-line grammar which serves as a point of reference. Thereby, we avoid false positives and false negatives when parsing constructs of interest in a tolerant mode. Our approach accomplishes the effective derivation of a tolerant grammar from the syntactical structure that is relevant for a certain re- or reverse engineering tool. To this end, the productions for the constructs of interest are reused from the base-line grammar together with further productions that are needed for completion

    Large-scale semi-automated migration of legacy C/C++ test code

    Get PDF
    This is an industrial experience report on a large semi-automated migration of legacy test code in C and C++. The particular migration was enabled by automating most of the maintenance steps. Without automation this particular large-scale migration would not have been conducted, due to the risks involved in manual maintenance (risk of introducing errors, risk of unexpected rework, and loss of productivity). We describe and evaluate the method of automation we used on this real-world case. The benefits were that by automating analysis, we could make sure that we understand all the relevant details for the envisioned maintenance, without having to manually read and check our theories. Furthermore, by automating transformations we could reiterate and improve over complex and large scale source code updates, until they were “just right.” The drawbacks were that, first, we have had to learn new metaprogramming skills. Second, our automation scripts are not readily reusable for other contexts; they were necessarily developed for this ad-hoc maintenance task. Our analysis shows that automated software maintenance as compared to the (hypothetical) manual alternative method seems to be better both in terms of avoiding mistakes and avoiding rework because of such mistakes. It seems that necessary and beneficial source code maintenance need not to be avoided, if software engineers are enabled to create bespoke (and ad-hoc) analysis and transformation tools to support it

    Lifelong Learning: The Integration of Experiential Learning, Quality of Life Work in Communities and Higher Education

    Get PDF
    This descriptive quantitative study examined preferences and choices by adult learners (leading edge baby boomers and older adults, ages 50-70), who were participants in Elderhostel international experiential programs and The University of Montana Alumni Association educational travel programs. The study investigated the preferences of the sample populations and their interests in making a career change in mid-life to work in a new career to help improve the quality of life in their community. The typologies of the respondents were compared with their interests to make career transitions to jobs to improve the quality of life in their communities. The study investigated the willingness of respondents to participate in training, certification and/or university degree bearing studies in social responsibility disciplines, including human services, education, environment, arts and culture management, and nonprofit community leadership. The research reported data in the following major categories: (a) reasons for participation in educational travel programs, (b) typologies of participants, (c) career choices, (d) jobs to improve quality of life in community, (e) university or lifelong learning institute training to work in human service work, (f) willingness to change careers to human services, (g) pay tuition for university classes for career transition to human service, education and community leadership positions, and (h) tax credit to spend a year in training to work in public service. Experiential learning, social responsibility disciplines, and making the transition to a new career that focus on the public good are displayed in the tables, figures and descriptions of the research of this study. The correlation of respondents\u27 typologies with their interest to pursue a higher degree in a social responsibility discipline in higher education and experiential learning provided significant findings in this research. The conclusions of this study were: 1. The respondents displayed a willingness to change to a career in social responsibility disciplines, primarily in arts and culture management, human services helping the elderly, the sick and the poor, and civic group leadership, and tutoring and teaching in after-school programs or religious instruction for youth. 2. There is a positive association between the typologies of geographical explorer, adventurer, activity-oriented, and service learning, and the intrinsic rewards to adult learners and their interest in higher education degree programs. 3. There is potential for higher education to attract a percentage of adult learners who want to pursue expanded higher education learning opportunities in social responsibility disciplines. The financial incentives are potentially lucrative for higher education to expand courses that create streams of revenue in the adult learner segments. 4. The respondents of both sample populations overwhelmingly want tax credits to train and work for the public good

    Ground Forces: Dirt, Demolition, and the Geography of Decline in Detroit, Michigan

    Full text link
    This dissertation contributes to the study of the production of urban decline by examining the process of demolishing. Recent research on the production of urban decline, by focusing on the property and real estate practices of speculation, foreclosure, and eviction, has provided an analytical framework for identifying and interpreting the persistent shifts in capital accumulation strategies that produce blight. The property and real estate practices of demolition extend beyond the site of a demolished building and reinforce processes producing urban decline. Demolishing depends on environments, logistics, policies, and resources that preserve regional geographies of uneven development. I investigate the Detroit Demolition Program (DDP) and efforts between 2013 and 2019 to demolish over 40,000 houses in Detroit, MI. I study this city and its program to question and interpret relationships between demolition and urban decline. In existing research, local public policy authorizes and pays contractors to deliver on-demand demolition to an abandoned building. Based on interviews and my analysis of public documents, DDP data, and sites, I show this focus on the practice of demolition erases the processes and effects of demolishing that extend beyond an address. Demolition is part of the production of urban decline and includes supply chains, forms of value, resources, property relations, and environments that conflict with demolition as an intervention against decline. The process of demolishing Detroit depended on the emergence of a consensus turning blight into an emergency and removal into a necessity. Public, private, and philanthropic interests linked demolition to revitalization but also used it served regulatory, political, and financial goals. The urgency around demolishing provided justification for DDP policies that accommodated the income-generation priorities of contractors. The DDP depended on contractors sourcing millions of cubic yards of dirt and rock to grade holes after basement excavation. Shifting DDP regulation on backfill ensured demolition was lucrative for wreckers and their networks. Backfilling Detroit meant millions of dollars in transactions that served contractors and suburban development agendas. Contractors sourced material from 444 unique sources, including luxury condos and retailer parking lots. The transformation of Detroit's built environment through demolition relied on continued regional expansion that converted wastes of growth into assets for destruction. Demolishing Detroit was not an intervention slotted between periods of decline and development. Instead, demolishing was a value-extraction process manifesting land uses and property practices that generated income without redevelopment. Contractors engendered a regional land regime that could produce and sustain demolition. Instead of an interruption in the production of urban decline, making land vacant and ready for profitable intensification, demolishing Detroit was the continuation of decline by a different means. This dissertation shows the limits of research on demolition that relies on the potential for reuse to evaluate consequences for neighborhoods. These dichotomies separate demolishing from the conditions and contradictions of its creation. By illustrating how demolishing is part of the process of decline I provide an alternative to research that conceals the operations of capital by relying on divides between global and local, between causes and interventions. Rather than managing decline or prompting redevelopment, demolishing is one process by which capitalist urbanization achieves the extraction of value in shrinking cities. Extending these insights beyond Detroit and demolition can identify local responses that may appear to manage decline but through their environmental and logistical processes reinforce regional segregation and produce decline.PHDUrban and Regional PlanningUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttp://deepblue.lib.umich.edu/bitstream/2027.42/162864/1/mkosciel_1.pd
    corecore