3,172 research outputs found

    Leveraging Program Comprehension with Concern-oriented Source Code Projections

    Get PDF
    In this paper we briefly introduce our concern-oriented source code projections that enable looking at same source code in multiple different ways. The objective of this paper is to discuss projection creation process in detail and to explain benefits of using projections to aid program comprehension. We achieve this objective by showing a case study that illustrates using projections on examples. Presented case study was done using our prototypical tool that is implemented as a plugin for NetBeans IDE. We briefly introduce the tool and present an experiment that we have conducted with a group of students at our university. The results of the experiment indicate that projections have positive effect on program comprehension

    Projectional Editing of Software Product Lines–The PEoPL approach

    Get PDF

    A comparison of tree- and line-oriented observational slicing

    Get PDF
    Observation-based slicing and its generalization observational slicing are recently-introduced, language-independent dynamic slicing techniques. They both construct slices based on the dependencies observed during program execution, rather than static or dynamic dependence analysis. The original implementation of the observation-based slicing algorithm used lines of source code as its program representation. A recent variation, developed to slice modelling languages (such as Simulink), used an XML representation of an executable model. We ported the XML slicer to source code by constructing a tree representation of traditional source code through the use of srcML. This work compares the tree- and line-based slicers using four experiments involving twenty different programs, ranging from classic benchmarks to million-line production systems. The resulting slices are essentially the same size for the majority of the programs and are often identical. However, structural constraints imposed by the tree representation sometimes force the slicer to retain enclosing control structures. It can also “bog down” trying to delete single-token subtrees. This occasionally makes the tree-based slices larger and the tree-based slicer slower than a parallelised version of the line-based slicer. In addition, a Java versus C comparison finds that the two languages lead to similar slices, but Java code takes noticeably longer to slice. The initial experiments suggest two improvements to the tree-based slicer: the addition of a size threshold, for ignoring small subtrees, and subtree replacement. The former enables the slicer to run 3.4 times faster while producing slices that are only about 9% larger. At the same time the subtree replacement reduces size by about 8–12% and allows the tree-based slicer to produce more natural slices

    Teaching Invention: Leveraging the Power of Low-Stakes Writing

    Get PDF
    Translating Writing Tasks into a Language Students Understand: Leveraging the Power of Low-Stakes Writing argues for the central role authentic questioning can play as a generative step in the composition process. The article outlines key criteria in what exactly an authentic question is, how these can be communicated to students, and how students can learn to generate their own authentic questions without teacher intercession - i.e. compose their own self-generated close reading assignments - as a stage in the process of high-level, analytical discourse. The article details how students may ask questions of a text, but also provide answers to those questions and vet these inquiries through their peers in order to have a deeper understanding of how a source text works, its internal logic and governing ideas. In doing so, the article and its running examples explore one of the most visible yet unattended to dichotomies in the English classroom - Writing-to-Learn (WTL) and Writing-to-Show-Learning (WTSL) - and how to constructively navigate the borderlands that lie between for both teacher and student

    Proceedings of the 19th Annual Software Engineering Workshop

    Get PDF
    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of applications software. The goals of the SEL are: (1) to understand the software development process in the GSFC environment; (2) to measure the effects of various methodologies, tools, and models on this process; and (3) to identify and then to apply successful development practices. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that include this document
    • …
    corecore