458,532 research outputs found
Overcoming Language Dichotomies: Toward Effective Program Comprehension for Mobile App Development
Mobile devices and platforms have become an established target for modern
software developers due to performant hardware and a large and growing user
base numbering in the billions. Despite their popularity, the software
development process for mobile apps comes with a set of unique, domain-specific
challenges rooted in program comprehension. Many of these challenges stem from
developer difficulties in reasoning about different representations of a
program, a phenomenon we define as a "language dichotomy". In this paper, we
reflect upon the various language dichotomies that contribute to open problems
in program comprehension and development for mobile apps. Furthermore, to help
guide the research community towards effective solutions for these problems, we
provide a roadmap of directions for future work.Comment: Invited Keynote Paper for the 26th IEEE/ACM International Conference
on Program Comprehension (ICPC'18
Empirical Research Plan: Effects of Sketching on Program Comprehension
Sketching is an important means of communication in software engineering
practice. Yet, there is little research investigating the use of sketches. We
want to contribute a better understanding of sketching, in particular its use
during program comprehension. We propose a controlled experiment to investigate
the effectiveness and efficiency of program comprehension with the support of
sketches as well as what sketches are used in what way.Comment: 5 pages, 0 figures, Proc. International Conference on Agile Software
Development (XP'16). Volume 251 of the book series Lecture Notes in Business
Information Processing (LNBIP). Springer, 201
Multilingual investigation of theory-based intervention for program comprehension
This thesis is the continuation of an experiment called “Eye-movement Modeling Examples in
Source Code Comprehension: A Classroom Study”. This first experiment studies how effective is
showing novice programmers how experts read code with a video with the expert’s gaze guided
by a verbal explanation. Therefore, this thesis studies, using a similar experiment, whether only
verbal explanation and visual stimuli without the expert’s gaze could be also helpful for the
programming novices.Grado en Ingeniería Informática de Servicios y Aplicacione
Program simplification as a means of approximating undecidable propositions
We describe an approach which mixes testing, slicing, transformation and formal verification to investigate speculative hypotheses concerning a program, formulated during program comprehension activity. Our philosophy is that such hypotheses (which are typically undecidable) can, in some sense, be `answered' by a partly automated system which returns neither `true' nor `false' but a program (the `test program') which computes the answer. The motivation for this philosophy is the way in which, as we demonstrate, static analysis and manipulation technology can be applied to ensure that the resulting test program is significantly simpler than the original program, thereby simplifying the process of investigating the original hypothesi
Reverse Engineering from Assembler to Formal Specifications via Program Transformations
The FermaT transformation system, based on research carried out over the last
sixteen years at Durham University, De Montfort University and Software
Migrations Ltd., is an industrial-strength formal transformation engine with
many applications in program comprehension and language migration. This paper
is a case study which uses automated plus manually-directed transformations and
abstractions to convert an IBM 370 Assembler code program into a very
high-level abstract specification.Comment: 10 page
- …
