HASLab - Indexed Articles in Conferences
Permanent URI for this collection
Browse
Browsing HASLab - Indexed Articles in Conferences by Author "5597"
Results Per Page
Sort Options
-
ItemE-Debitum: managing software energy debt( 2020) Marco Linhares Couto ; Rui Alexandre Pereira ; João Alexandre Saraiva ; Maia,D ; 6187 ; 5974 ; 5597This paper extends previous work on the concept of a new software energy metric: Energy Debt. This metric is a reflection on the implied cost, in terms of energy consumption over time, of choosing an energy flawed software implementation over a more robust and efficient, yet time consuming, approach.This paper presents the implementation a SonarQube tool called E-Debitum which calculates the energy debt of Android applications throughout their versions. This plugin uses a robust, well defined, and extendable smell catalog based on current green software literature, with each smell defining the potential energy savings. To conclude, an experimental validation of E-Debitum was executed on 3 popular Android applications with various releases, showing how their energy debt fluctuated throughout releases. © 2020 ACM.
-
ItemEfficient Embedding of Strategic Attribute Grammars via Memoization( 2023) João Alexandre Saraiva ; José Nuno Macedo ; 5597 ; 7004
-
ItemEfficient Embedding of Strategic Attribute Grammars via Memoization( 2023) João Alexandre Saraiva ; José Nuno Macedo ; 5597 ; 7004
-
ItemEnergy Refactorings for Android in the Large and in the Wild( 2020) João Alexandre Saraiva ; João Paulo Fernandes ; Marco Linhares Couto ; 5631 ; 6187 ; 5597
-
ItemEnergy wars - Chrome vs. Firefox: which browser is more energy efficient?( 2020) Aloísio,J ; João Alexandre Saraiva ; Rui Alexandre Pereira ; Gonçalves,N ; Macedo,Jd ; 5974 ; 5597
-
ItemExpressing disambiguation filters as combinators( 2020) João Alexandre Saraiva ; José Nuno Macedo ; 7004 ; 5597
-
ItemFraming Program Repair as Code Completion( 2022) Ribeiro,F ; Abreu,R ; João Alexandre Saraiva ; 5597
-
ItemGreenSource: A large-scale collection of android code, tests and energy metrics( 2019) Rui António Rua ; João Alexandre Saraiva ; Marco Linhares Couto ; 6187 ; 5597 ; 7075This 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. © 2019 IEEE.
-
ItemGreenspecting Android virtual keyboards( 2020) Fraga,T ; João Alexandre Saraiva ; Marco Linhares Couto ; Rui António Rua ; 5597 ; 6187 ; 7075
-
ItemInDubio: A Combinator Library to Disambiguate Ambiguous Grammars( 2020) João Alexandre Saraiva ; Macedo,JN ; 5597To infer an abstract model from source code is one of the main tasks of most software quality analysis methods. Such abstract model is called Abstract Syntax Tree and the inference task is called parsing. A parser is usually generated from a grammar specification of a (programming) language and it converts source code of that language into said abstract tree representation. Then, several techniques traverse this tree to assess the quality of the code (for example by computing source code metrics), or by building new data structures (e.g, flow graphs) to perform further analysis (such as, code cloning, dead code, etc). Parsing is a well established technique. In recent years, however, modern languages are inherently ambiguous which can only be fully handled by ambiguous grammars. In this setting disambiguation rules, which are usually included as part of the grammar specification of the ambiguous language, need to be defined. This approach has a severe limitation: disambiguation rules are not first class citizens. Parser generators offer a small set of rules that can not be extended or changed. Thus, grammar writers are not able to manipulate nor define a new specific rule that the language he is considering requires. In this paper we present a tool, name InDubio, that consists of an extensible combinator library of disambiguation filters together with a generalized parser generator for ambiguous grammars. InDubio defines a set of basic disambiguation rules as abstract syntax tree filters that can be combined into more powerful rules. Moreover, the filters are independent of the parser generator and parsing technology, and consequently, they can be easily extended and manipulated. This paper presents InDubio in detail and also presents our first experimental results. © 2020, Springer Nature Switzerland AG.
-
ItemJava Stream Fusion: Adapting FP mechanisms for an OO setting( 2019) Pardo,A ; João Alexandre Saraiva ; Francisco José Ribeiro ; 7074 ; 5597In this paper, we show how stream fusion, a program transformation technique used in functional programming, can be adapted for an Object-Oriented setting. This makes it possible to have more Stream operators than the ones currently provided by the Java Stream API. The addition of more operators allows for a greater deal of expressiveness. To this extent, we show how these operators are incorporated in the stream setting. Furthermore, we also demonstrate how a specific set of optimizations eliminates overheads and produces equivalent code in the form of for loops. In this way, programmers are relieved from the burden of writing code in such a cumbersome style, thus allowing for a more declarative and intuitive programming approach.
-
ItemjStanley: placing a green thumb on Java collections( 2018) Simão,P ; Rui Alexandre Pereira ; Cunha,J ; João Alexandre Saraiva ; 5597 ; 5974
-
ItemOn energy debt: managing consumption on evolving software( 2020) Maia,D ; Rui Alexandre Pereira ; João Alexandre Saraiva ; Marco Linhares Couto ; 5597 ; 5974 ; 6187
-
ItemOn energy debt: managing consumption on evolving software( 2020) Marco Linhares Couto ; 6187
-
ItemOn Understanding Contextual Changes of Failures( 2021) Francisco José Ribeiro ; Abreu,R ; João Alexandre Saraiva ; 5597 ; 7074
-
ItemPyAnaDroid: A fully-customizable execution pipeline for benchmarking Android Applications( 2023) João Alexandre Saraiva ; Rui António Rua ; 5597 ; 7075This paper presents PyAnaDroid, an open-source, fully-customizable execution pipeline designed to benchmark the performance of Android native projects and applications, with a special emphasis on benchmarking energy performance. PyAnaDroid is currently being used for developing large-scale mobile software empirical studies and for supporting an advanced academic course on program testing and analysis. The presented artifact is an expandable and reusable pipeline to automatically build, test and analyze Android applications. This tool was made openly available in order to become a reference tool to transparently conduct, share and validate empirical studies regarding Android applications. This document presents the architecture of PyAnaDroid, several use cases, and the results of a preliminary analysis that illustrates its potential.Video demo: https://youtu.be/7AV3nrh4Qc8 © 2023 IEEE.
-
ItemWebAssembly versus JavaScript: Energy and Runtime Performance( 2022) De Macedo,J ; Abreu,R ; Rui Alexandre Pereira ; João Alexandre Saraiva ; 5974 ; 5597
-
ItemZipping Strategies and Attribute Grammars( 2022) José Nuno Macedo ; Viera,M ; João Alexandre Saraiva ; 5597 ; 7004