60,120 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
Social Intelligence Design for Mediated Communication
Without abstract
RePOR: Mimicking humans on refactoring tasks. Are we there yet?
Refactoring is a maintenance activity that aims to improve design quality
while preserving the behavior of a system. Several (semi)automated approaches
have been proposed to support developers in this maintenance activity, based on
the correction of anti-patterns, which are `poor' solutions to recurring design
problems. However, little quantitative evidence exists about the impact of
automatically refactored code on program comprehension, and in which context
automated refactoring can be as effective as manual refactoring. Leveraging
RePOR, an automated refactoring approach based on partial order reduction
techniques, we performed an empirical study to investigate whether automated
refactoring code structure affects the understandability of systems during
comprehension tasks. (1) We surveyed 80 developers, asking them to identify
from a set of 20 refactoring changes if they were generated by developers or by
a tool, and to rate the refactoring changes according to their design quality;
(2) we asked 30 developers to complete code comprehension tasks on 10 systems
that were refactored by either a freelancer or an automated refactoring tool.
To make comparison fair, for a subset of refactoring actions that introduce new
code entities, only synthetic identifiers were presented to practitioners. We
measured developers' performance using the NASA task load index for their
effort, the time that they spent performing the tasks, and their percentages of
correct answers. Our findings, despite current technology limitations, show
that it is reasonable to expect a refactoring tools to match developer code
Toward Reverse Engineering of VBA Based Excel Spreadsheet Applications
Modern spreadsheet systems can be used to implement complex spreadsheet
applications including data sheets, customized user forms and executable
procedures written in a scripting language. These applications are often
developed by practitioners that do not follow any software engineering practice
and do not produce any design documentation. Thus, spreadsheet applications may
be very difficult to be maintained or restructured. In this position paper we
present in a nutshell two reverse engineering techniques and a tool that we are
currently realizing for the abstraction of conceptual data models and business
logic models.Comment: In Proceedings of the 2nd Workshop on Software Engineering Methods in
Spreadsheets (http://spreadsheetlab.org/sems15/
Media literacy at all levels: making the humanities more inclusive
The decline of the humanities, combined with the arrival of students focused
on science, technology, engineering, and mathematics (STEM), represent
an opportunity for the development of innovative approaches to teaching
languages and literatures. Expanding the instructional focus from traditional
humanities students, who are naturally more text-focused, to address the needs
of more application-oriented STEM learners ensures that language instructors
prepare all students to become analytical and critical consumers and producers
of digital media. Training students to question motives both in their own and
authentic media messages and to justify their own interpretations results in more
sophisticated second language (L2) communication. Even where institutional
structures impede comprehensive curriculum reform, individual instructors can
integrate media literacy training into their own classes. Tis article demonstrates
ways of reaching and retaining larger numbers of students at all levels—if necessary,
one course at a time.Published versio
- …