1,790 research outputs found

    GreenSource: A large-scale collection of android code, tests and energy metrics

    Get PDF
    This paper presents the GreenSource infrastructure: a large body of open source code, executable Android applications, and curated dataset containing energy code metrics. The dataset contains energy metrics obtained by both static analysing the applications' source code and by executing them with available test inputs. To automate the execution of the applications we developed the AnaDroid tool which instruments its code, compiles and executes it with test inputs in any Android device, while collecting energy metrics. GreenSource includes all Android applications included in the MUSE Java source code repository, while AnaDroid implements all Android's energy greedy features described in the literature, GreenSource aims at characterizing energy consumption in the Android ecosystem, providing both Android developers and researchers a setting to reason about energy efficient Android software development.INCT-EN - Instituto Nacional de Ciência e Tecnologia para Excitotoxicidade e Neuroproteção (UID/EEA/50014/2019)This work is financed by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciencia e a Tecnologia within project: ˆ UID/EEA/50014/2019. Second author is also sponsored by FCT grant SFRH/BD/132485/2017. This work is financed by the ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation – COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT, within project POCI-01-0145-FEDER016718

    A Survey on Program Slicing

    Get PDF
    Program slicing is an important technique for untangling programs by only focusing on selected aspects of semantics. The processing flow of slicing deletes those parts of the program that have no effect upon the semantics that are required to execute. For program slicing it is important to understand the important aspects that are related to execution and relationship of variable involved in the program. Slicing has applications in software maintenance, testing and debugging. Program slicing is a process of extracting parts of programs by tracing the programs in which the main task is to find out all statements in a program that directly or indirectly influence the value of a variable at some point in a program. In proposed paper a detailed survey is done on various slicing techniques and understanding the applications in various areas such as debugging, program comprehension and understanding, program integration

    Overcoming Language Dichotomies: Toward Effective Program Comprehension for Mobile App Development

    Full text link
    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
    • …
    corecore