87 research outputs found
GreenSource: repository tailored for green software analysis
Dissertação de mestrado in Computer ScienceBoth energy consumption analysis and energy-aware development have gained the attention
of both developers and researchers over the past years. The interest is more notorious
due to the proliferation of mobile devices, where energy is a key concern.
There is a gap identified in terms of tools and information to detect and identify anomalous
energy consumption in Android applications. A large part of the existing tools are
based on external hardware (costly solutions in terms of setup-time), through predictive
models (requiring previous hardware calibration) or static code analysis methods. We could
not identify so far a tool capable of monitor all relevant system resources and components
that an application uses and appoint its energy consumption, while being easily integrated
with the application and/or with its development environment. Due to the lack of a tool
capable of gathering all this information, a natural consequence is the lack of information
about the energy consumption of applications and factors that can influence it.
This dissertation aims to carry out a study on the energy consumption of applications and
mobile devices in the Android platform, having developed in this scope the GreenSource
infrastructure, a repository containing the source code, representative metadata and metrics
relatively to a large number of applications (and respective execution in physical devices).
In order to gather the results, an auxiliary tool has been developed to automatize the
process of testing and collect the respective results for each one of the applications. This tool
is a software-based solution, allowing to obtain results in terms of consumption through
executions made directly on a physical device running the Android platform.
The developed framework, the AnaDroid, has the capability to perform static and dynamic
analysis of an application, being able to monitor power consumption and usage of
resources for each application through tests execution. This is done following a whitebox
testing approach, in order to test applications at source code level. It invokes calls to
the TrepnLib library at strategic locations of the application code (through instrumentation
techniques) to gain control over relevant portions of the source code, like methods and unit
tests. In this way the programmer can have results about the use, state and consumption of
resources such as energy, CPU, GPU, memory, sensor usage and complexity of developed
test cases.
The information gathered through the use of the AnaDroid over a large set of applications
was stored in GreenSource backend. With the collected results, we expect to be able to
characterize and classify applications, as well the tests developed for it. It is intended that
this will be made publicly available and serve as a reference for future works and studies.Quer a análise do consumo de energia, quer o desenvolvimento de aplicações com consciência neste sentido têm vindo a cativar a atenção de desenvolvedores e investigadores
nos últimos anos. O interesse é mais notório devido à proliferação de dispositivos móveis,
onde a energia é uma preocupação fundamental mas ainda pouco explorada. Como tal,
existem lacunas identificadas em termos de ferramentas e informações para detectar e identificar
o consumo anómalo de energia em aplicações Android.
Grande parte das ferramentas existentes são baseadas em hardware externo (soluções
dispendiosas em termos de tempo de setup), através de modelos preditivos (que exigem
calibração prévia) ou métodos de análise estática de código. Não conseguimos identificar
até ao momento uma ferramenta capaz de monitorizar de forma precisa todos os recursos e
componentes relevantes do sistema usados por uma aplicação, bem como de determinar o
seu consumo energético. Esta lacuna tem como consequência natural a falta de informação
sobre o consumo de energia de aplicações e fatores que podem influenciá-lo.
Esta dissertação tem como objetivo realizar um estudo sobre o consumo de energia na
plataforma Android, tendo sido desenvolvido neste âmbito a infraestrutura GreenSource.
Esta contém um repositório que engloba o código fonte, resultados e métricas relativas a
um grande número de aplicações.
A fim de obter resultados ilustrativos para um grande número de aplicações, foi desenvolvida
uma ferramenta para automatizar o processo de teste e reunir os respectivos
resultados. A ferramenta desenvolvida Ă© baseada em software, permitindo obter resultados
em termos de consumo através de execuções realizadas diretamente num dispositivo
fĂsico Android.
Esta framework, denominada AnaDroid, possui a capacidade de analizar aplicações de
forma estática e dinâmica, bem como de monitorizar o consumo e uso de recursos durante
a sua execução. Para este efeito, são efetuadas invocações a uma biblioteca denominada
TrepnLib, em locais estratégicos do código da aplicação para obter controlo sobre partes relevantes
deste. Desta forma obtém-se resultados sobre o uso, estado e consumo de recursos,
tais como consumo energético, CPU, GPU, memória, sensores.
As informações reunidas através da execução do AnaDroid foram armazenadas na base
de dados do GreenSource. Com todos os resultados coletados, pretende-se caracterizar
e classificar energeticamente aplicações e testes desenvolvidos para estas. Pretende-se
disponibilizar abertamente estes resultados, para que possam servir como referencia para
futuros trabalhos, análises e estudos
PACE: Simple Multi-hop Scheduling for Single-radio 802.11-based Stub Wireless Mesh Networks
IEEE 802.11-based Stub Wireless Mesh Networks (WMNs) are a cost-effective and flexible solution to extend wired network infrastructures. Yet, they suffer from two major problems: inefficiency and unfairness. A number of approaches have been proposed to tackle these problems, but they are too restrictive, highly complex, or require time synchronization and modifications to the IEEE 802.11 MAC.
PACE is a simple multi-hop scheduling mechanism for Stub WMNs overlaid on the IEEE 802.11 MAC that jointly addresses the inefficiency and unfairness problems. It limits transmissions to a single mesh node at each time and ensures that each node has the opportunity to transmit a packet in each network-wide transmission round. Simulation results demonstrate that PACE can achieve optimal network capacity utilization and greatly outperforms state of the art CSMA/CA-based solutions as far as goodput, delay, and fairness are concerned
GreenSource: A large-scale collection of android code, tests and energy metrics
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 large-scale empirical study on mobile performance: energy, run-time and memory
Software performance concerns have been attracting research interest at an increasing rate, especially regarding energy performance in non-wired computing devices. In the context of mobile devices, several research works have been devoted to assessing the performance of software and its underlying code. One important contribution of such research efforts is sets of programming guidelines aiming at identifying efficient and inefficient programming practices, and consequently to steer software developers to write performance-friendly code. Despite recent efforts in this direction, it is still almost unfeasible to obtain universal and up-to-date knowledge regarding software and respective source code performance. Namely regarding energy performance, where there has been growing interest in optimizing software energy consumption due to the power restrictions of such devices. There are still many difficulties reported by the community in measuring performance, namely in large-scale validation and replication. The Android ecosystem is a particular example, where the great fragmentation of the platform, the constant evolution of the hardware, the software platform, the development libraries themselves, and the fact that most of the platform tools are integrated into the IDE’s GUI, makes it extremely difficult to perform performance studies based on large sets of data/applications. In this paper, we analyze the execution of a diversified corpus of applications of significant magnitude. We analyze the source-code performance of 1322 versions of 215 different Android applications, dynamically executed with over than 27900 tested scenarios, using state-of-the-art black-box testing frameworks with different combinations of GUI inputs. Our empirical analysis allowed to observe that semantic program changes such as adding functionality and repairing bugfixes are the changes more associated with relevant impact on energy performance. Furthermore, we also demonstrate that several coding practices previously identified as energy-EC - European Commission(19135); National Funds through the Portuguese funding agency,
FCT - Fundação para a Ciência e a Tecnologia, within project UIDP/50014/2020, by COST Action 19135:
“CERICIRAS - Connecting Education and Research Communities for an Innovative Resource Aware Society”,
and by Erasmus+ project No. 2020-1-PT01-KA203-078646: “SusTrainable - Promoting Sustainability as a
Fundamental Driver in Software Development Training and Education”. The first author is also financed
by FCT grant SFRH/BD/146624/201
PyAnaDroid: A fully-customizable execution pipeline for benchmarking Android Applications
This 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/7AV3nrh4Qc8National Funds through the
Portuguese funding agency, FCT - Fundação para a Ciência e a
Tecnologia, within project UIDP/50014/2020. The first author
is also financed by FCT grant SFRH/BD/146624/201
Towards a green ranking for programming languages
While in the past the primary goal to optimize software was the run time optimization, nowadays there is a growing awareness of the need to reduce energy consumption. Additionally, a growing number of developers wish to become more energy-aware when programming and feel a lack of tools and the knowledge to do so.In this paper we define a ranking of energy efficiency in programming languages. We consider a set of computing problems implemented in ten well-known programming languages, and monitored the energy consumed when executing each language. Our preliminary results show that although the fastest languages tend to be the lowest consuming ones, there are other interesting cases where slower languages are more energy efficient than faster ones.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 - Fundacao para a Ciencia e a Tecnologia within project POCI-01-0145-FEDER-016718. The second author is also sponsored by FCT grant SFRH/BD/112733/2015
Modelos morfolĂłgicos tridimensionais por IRM do tracto vocal para as principais vogais do PortuguĂŞs Europeu
O entendimento da produção da fala tem sido ampla mente procurado, recorrendo à imagem por ressonância magnética (IRM), mas não é totalmente conhecido, particularmente no que diz respeito aos sons do Português Europeu (PE). O principal objectivo deste estudo foi a caracterização das vogais do PE. Com base na IRM recolheram-se conjuntos de imagens bidimensionais, em cinco posições articulatórias distintas, durante a produção sustentada do som. Após extracção de contornos do tracto vocal procedeu-se à reconstrução tridimensional, constatando-se que a IRM fornece in formação morfológica útil e com considerável precisão acerca da posição e forma dos diferentes articuladores da fala
Energyware analysis
This documents introduces \Energyware" as a software engineering discipline aiming at defining, analyzing and optimizing the energy consumption by software systems. In this paper we present energyware analysis in the context of programming languages, software data structures and program's source code. For each of these areas we describe the research work done in the context of the Green Software Laboratory at Minho University: we describe energyaware techniques, tools, libraries, and repositories.This work is financed by the ERDF European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme within project POCI-01-0145-FEDER-006961, and by National Funds through the Portuguese funding agency, FCT - Fundao para a Ciłncia e a Tecnologia within project POCI-01-0145-FEDER-016718 and UID/EEA/50014/2013. The first author is also sponsored by FCT grant SFRH/BD/112733/2015
Greenspecting Android virtual keyboards
During this still increasing mobile devices proliferation age, much of human-computer interaction involves text input, and the task of typing text is provided via virtual keyboards. In a mobile setting, energy consumption is a key concern for both hardware manufacturers and software developers. Virtual keyboards are software applications, and thus, inefficient applications have a negative impact on the overall energy consumption of the underlying device. Energy consumption analysis and optimization of mobile software is a recent and active area of research. Surprisingly, there is no study analyzing the energy efficiency of the most used software keyboards and evaluating the performance advantage of its features. In this paper, we studied the energy performance of five of the most used virtual keyboards in the Android ecosystem. We measure and analyze the energy consumption in different keyboard scenarios, namely with or without using word prediction. This work presents the results of two studies: one where we instructed the keyboards to simulate the writing of a predefined input text, and another where we performed an empirical study with real users writing the same text. Our studies show that there exist relevant performance differences among the most used keyboards of the considered ecosystem, and it is possible to save nearly 18% of energy by replacing the most used keyboard in Android by the most efficient one. We also showed that is possible to save both energy and time by disabling keyboard intrinsic features and that the use of word suggestions not always compensate for energy and time.- (undefined
Three-dimensional modeling of tongue during speech using MRI data
The tongue is the most important and dynamic articulator for speech formation, because
of its anatomic aspects (particularly, the large volume of this muscular organ
comparatively to the surrounding organs of the vocal tract) and also due to the wide
range of movements and flexibility that are involved. In speech communication
research, a variety of techniques have been used for measuring the three-dimensional
vocal tract shapes. More recently, magnetic resonance imaging (MRI) becomes
common; mainly, because this technique allows the collection of a set of static and
dynamic images that can represent the entire vocal tract along any orientation. Over the
years, different anatomical organs of the vocal tract have been modelled; namely, 2D
and 3D tongue models, using parametric or statistical modelling procedures. Our aims
are to present and describe some 3D reconstructed models from MRI data, for one
subject uttering sustained articulations of some typical Portuguese sounds. Thus, we
present a 3D database of the tongue obtained by stack combinations with the subject
articulating Portuguese vowels. This 3D knowledge of the speech organs could be very
important; especially, for clinical purposes (for example, for the assessment of
articulatory impairments followed by tongue surgery in speech rehabilitation), and also
for a better understanding of acoustic theory in speech formation
- …