1,023 research outputs found

    SusTrainable: Promoting Sustainability as a Fundamental Driver in Software Development Training and Education. 2nd Teacher Training, January 23-27, 2023, Pula, Croatia. Revised lecture notes

    Full text link
    This volume exhibits the revised lecture notes of the 2nd teacher training organized as part of the project Promoting Sustainability as a Fundamental Driver in Software Development Training and Education, held at the Juraj Dobrila University of Pula, Croatia, in the week January 23-27, 2023. It is the Erasmus+ project No. 2020-1-PT01-KA203-078646 - Sustrainable. More details can be found at the project web site https://sustrainable.github.io/ One of the most important contributions of the project are two summer schools. The 2nd SusTrainable Summer School (SusTrainable - 23) will be organized at the University of Coimbra, Portugal, in the week July 10-14, 2023. The summer school will consist of lectures and practical work for master and PhD students in computing science and closely related fields. There will be contributions from Babe\c{s}-Bolyai University, E\"{o}tv\"{o}s Lor\'{a}nd University, Juraj Dobrila University of Pula, Radboud University Nijmegen, Roskilde University, Technical University of Ko\v{s}ice, University of Amsterdam, University of Coimbra, University of Minho, University of Plovdiv, University of Porto, University of Rijeka. To prepare and streamline the summer school, the consortium organized a teacher training in Pula, Croatia. This was an event of five full days, organized by Tihana Galinac Grbac and Neven Grbac. The Juraj Dobrila University of Pula is very concerned with the sustainability issues. The education, research and management are conducted with sustainability goals in mind. The contributions in the proceedings were reviewed and provide a good overview of the range of topics that will be covered at the summer school. The papers in the proceedings, as well as the very constructive and cooperative teacher training, guarantee the highest quality and beneficial summer school for all participants.Comment: 85 pages, 8 figures, 3 code listings and 1 table; editors: Tihana Galinac Grbac, Csaba Szab\'{o}, Jo\~{a}o Paulo Fernande

    Energy efficient adaptation engines for android applications

    Get PDF
    Context The energy consumption of mobile devices is increasing due to the improvement in their components (e.g., better processors, larger screens). Although the hardware consumes the energy, the software is responsible for managing hardware resources such as the camera software and its functionality, and therefore, affects the energy consumption. Energy consumption not only depends on the installed code, but also on the execution context (environment, devices status) and how the user interacts with the application. Objective In order to reduce the energy consumption based on user behavior, it is necessary to dynamically adapt the application. However, the adaptation mechanism also consumes a certain amount of energy in itself, which may lead to an important increase in the energy expenditure of the application in comparison with the benefits of the adaptation. Therefore, this footprint must be measured and compared with the benefit obtained. Method In this paper, we (1) determine the benefits, in terms of energy consumption, of dynamically adapting mobile applications, based on user behavior; and (2) advocate the most energy-efficient adaptation mechanism. We provide four different implementations of a proposed adaptation model and measure their energy consumption. Results The proposed adaptation engines do not increase the energy consumption when compared to the benefits of the adaptation, which can reduce the energy consumption by up to 20%. Conclusion The adaptation engines proposed in this paper can decrease the energy consumption of the mobile devices based on user behavior. The overhead introduced by the adaptation engines is negligible in comparison with the benefits obtained by the adaptation.Junta de AndalucĂ­a MAGIC P12-TIC1814Ministerio de EconomĂ­a y Competitividad TIN2015-64841-RMinisterio de Ciencia, InnovaciĂłn y Universidades TIN2017-90644-REDTMinisterio de Ciencia, InnovaciĂłn y Universidades RTI2018-099213-B-I00Universidad de MĂĄlaga LEIA UMA18-FEDERJA-15

    Energy-Efficient Software

    Get PDF
    The energy consumption of ICT is growing at an unprecedented pace. The main drivers for this growth are the widespread diffusion of mobile devices and the proliferation of datacenters, the most power-hungry IT facilities. In addition, it is predicted that the demand for ICT technologies and services will increase in the coming years. Finding solutions to decrease ICT energy footprint is and will be a top priority for researchers and professionals in the field. As a matter of fact, hardware technology has substantially improved throughout the years: modern ICT devices are definitely more energy efficient than their predecessors, in terms of performance per watt. However, as recent studies show, these improvements are not effectively reducing the growth rate of ICT energy consumption. This suggests that these devices are not used in an energy-efficient way. Hence, we have to look at software. Modern software applications are not designed and implemented with energy efficiency in mind. As hardware became more and more powerful (and cheaper), software developers were not concerned anymore with optimizing resource usage. Rather, they focused on providing additional features, adding layers of abstraction and complexity to their products. This ultimately resulted in bloated, slow software applications that waste hardware resources -- and consequently, energy. In this dissertation, the relationship between software behavior and hardware energy consumption is explored in detail. For this purpose, the abstraction levels of software are traversed upwards, from source code to architectural components. Empirical research methods and evidence-based software engineering approaches serve as a basis. First of all, this dissertation shows the relevance of software over energy consumption. Secondly, it gives examples of best practices and tactics that can be adopted to improve software energy efficiency, or design energy-efficient software from scratch. Finally, this knowledge is synthesized in a conceptual framework that gives the reader an overview of possible strategies for software energy efficiency, along with examples and suggestions for future research

    Towards Distributed Mobile Computing

    Get PDF
    In the latest years, we observed an exponential growth of the market of the mobile devices. In this scenario, it assumes a particular relevance the rate at which mobile devices are replaced. According to the International Telecommunicaton Union in fact, smart-phone owners replace their device every 20 months, on average. The side effect of this trend is to deal with the disposal of an increasing amount of electronic devices which, in many cases, arestill working. We believe that it is feasible to recover such an unexploited computational power. Through a change of paradigm in fact, it is possible to achieve a two-fold objective: 1) extend the mobile devices lifetime, 2) enable a new opportunity to speed up mobile applications. In this paper we aim at providing a survey of state-of-art solutions aim at going in the direction of a Distributed Mobile Computing paradigm. We put in evidence the challenges to be addressed in order to implement this paradigm and we propose some possible future improvements

    Test Smell: A Parasitic Energy Consumer in Software Testing

    Full text link
    Traditionally, energy efficiency research has focused on reducing energy consumption at the hardware level and, more recently, in the design and coding phases of the software development life cycle. However, software testing's impact on energy consumption did not receive attention from the research community. Specifically, how test code design quality and test smell (e.g., sub-optimal design and bad practices in test code) impact energy consumption has not been investigated yet. This study examined 12 Apache projects to analyze the association between test smell and its effects on energy consumption in software testing. We conducted a mixed-method empirical analysis from two dimensions; software (data mining in Apache projects) and developers' views (a survey of 62 software practitioners). Our findings show that: 1) test smell is associated with energy consumption in software testing. Specifically smelly part of a test case consumes 10.92\% more energy compared to the non-smelly part. 2) certain test smells are more energy-hungry than others, 3) refactored test cases tend to consume less energy than their smelly counterparts, and 4) most developers lack knowledge about test smells' impact on energy consumption. We conclude the paper with several observations that can direct future research and developments

    Google Play apps ERM: (energy rating model) multi-criteria evaluation model to generate tentative energy ratings for Google Play store apps

    Get PDF
    A common issue that is shared among Android smartphones users was and still related to saving their batteries power and to avoid the need of using any recharging resources. The tremendous increase in smartphone usage is clearly accompanied by an increase in the need for more energy. This preoperational relationship between modern technology and energy generates energy-greedy apps, and therefore power-hungry end users. With many apps falling under the same category in an app store, these apps usually share similar functionality. Because developers follow different design and development schools, each app has its own energy-consumption habits. Since apps share similar features, an end-user with limited access to recharging resources would prefer an energy-friendly app rather than a popular energy-greedy app. However, app stores give no indication about the energy behaviour of the apps they offer, which causes users to randomly choose apps without understanding their energy-consumption behaviour. Furthermore, with regard to the research questions about the fact that power saving application consumes a lot of electricity, past studies clearly indicate that there is a lot of battery depletion due to several factors. This problem has become a major concern for smartphone users and manufacturers. The main contribution of our research is to design a tool that can act as an effective decision support factor for end users to have an initial indication of the energy-consumption behaviour of an application before installing it. The core idea of the “before-installation” philosophy is simplified by the contradicting concept of installing the app and then having it monitored and optimized. Since processing requires power, avoiding the consumption of some power in order to conserve a larger amount of power should be our priority. So instead, we propose a preventive strategy that requires no processing on any layer of the smartphone. To address this issue, we propose a star-rating evaluation model (SREM), an approach that generates a tentative energy rating label for each app. To that end, SREM adapts current energy-aware refactoring tools to demonstrate the level of energy consumption of an app and presents it in a star-rating schema similar to the Ecolabels used on electrical home appliances. The SREM will also inspire developers and app providers to come up with multiple energy-greedy versions of the same app in order to suit the needs of different categories of users and rate their own apps. We proposed adding SREM to Google Play store in order to generate the energy-efficiency label for each app which will act as a guide for both end users and developers without running any processes on the end-users smartphone. Our research also reviews relevant existing literature specifically those covering various energy-saving techniques and tools proposed by various authors for Android smartphones. A secondary analysis has been done by evaluating the past research papers and surveys that has been done to assess the perception of the users regarding the phone power from their battery. In addition, the research highlights an issue that the notifications regarding the power saving shown on the screen seems to exploit a lot of battery. Therefore, this study has been done to reflect the ways that could help the users to save the phone battery without using any power from the same battery in an efficient manner. The research offers an insight into new ways that could be used to more effectively conserve smartphone energy, proposing a framework that involves end users on the process.Um problema comum entre utilizadores de smartphones Android tem sido a necessidade de economizar a energia das baterias, de modo a evitar a utilização de recursos de recarga. O aumento significativo no uso de smartphones tem sido acompanhado por um aumento, tambĂ©m significativo, na necessidade de mais energia. Esta relação operacional entre tecnologia moderna e energia gera aplicaçÔes muito exigentes no seu consumo de energia e, portanto, perfis de utilizadores que requerem nĂ­veis de energia crescentes. Com muitos das aplicaçÔes que se enquadram numa mesma categoria da loja de aplicaçÔes (Google Store), essas aplicaçÔes geralmente tambĂ©m partilham funcionalidades semelhantes. Como os criadores destas aplicaçÔes seguem abordagens diferentes de diversas escolas de design e desenvolvimento, cada aplicação possui as suas prĂłprias caraterĂ­sticas de consumo de energia. Como as aplicaçÔes partilham recursos semelhantes, um utilizador final com acesso limitado a recursos de recarga prefere uma aplicação que consome menos energia do que uma aplicação mais exigente em termos de consumo energĂ©tico, ainda que seja popular. No entanto, as lojas de aplicaçÔes nĂŁo fornecem uma indicação sobre o comportamento energĂ©tico das aplicaçÔes oferecidas, o que faz com que os utilizadores escolham aleatoriamente as suas aplicaçÔes sem entenderem o correspondente comportamento de consumo de energia. Adicionalmente, no que diz respeito Ă  questĂŁo de investigação, a solução de uma aplicação de economia de energia consume muita eletricidade, o que a torna limitada; estudos anteriores indicam claramente que hĂĄ muita perda de bateria devido a vĂĄrios fatores, nĂŁo constituindo solução para muitos utilizadores e para os fabricantes de smartphones. A principal contribuição de nossa pesquisa Ă© projetar uma ferramenta que possa atuar como um fator de suporte Ă  decisĂŁo eficaz para que os utilizadores finais tenham uma indicação inicial do comportamento de consumo de energia de uma aplicação, antes de a instalar. A ideia central da filosofia proposta Ă© a de atuar "antes da instalação", evitando assim a situação em se instala uma aplicação para perceber Ă  posteriori o seu impacto no consumo energĂ©tico e depois ter que o monitorizar e otimizar (talvez ainda recorrendo a uma aplicação de monitorização do consumo da bateria, o que agrava ainda mais o consumo energĂ©tico). Assim, como o processamento requer energia, Ă© nossa prioridade evitar o consumo de alguma energia para conservar uma quantidade maior de energia. Portanto, Ă© proposta uma estratĂ©gia preventiva que nĂŁo requer processamento em nenhuma camada do smartphone. Para resolver este problema, Ă© proposto um modelo de avaliação por classificação baseado em nĂ­veis e identificado por estrelas (SREM). Esta abordagem gera uma etiqueta de classificação energĂ©tica provisĂłria para cada aplicação. Para isso, o SREM adapta as atuais ferramentas de refatoração com reconhecimento de energia para demonstrar o nĂ­vel de consumo de energia de uma aplicação, apresentando o resultado num esquema de classificação por estrelas semelhante ao dos rĂłtulos ecolĂłgicos usados em eletrodomĂ©sticos. O SREM tambĂ©m se propĂ”e influenciar quem desenvolve e produz as aplicaçÔes, a criarem diferentes versĂ”es destas, com diferentes perfis de consumo energĂ©tico, de modo a atender Ă s necessidades de diferentes categorias de utilizadores e assim classificar as suas prĂłprias aplicaçÔes. Para avaliar a eficiĂȘncia do modelo como um complemento Ă s aplicaçÔes da loja Google Play, que atuam como uma rotulagem para orientação dos utilizadores finais. A investigação tambĂ©m analisa a literatura existente relevante, especificamente a que abrange as vĂĄrias tĂ©cnicas e ferramentas de economia de energia, propostas para smartphones Android. Uma anĂĄlise secundĂĄria foi ainda realizada, focando nos trabalhos de pesquisa que avaliam a perceção dos utilizadores em relação Ă  energia do dispositivo, a partir da bateria. Em complemento, a pesquisa destaca um problema de que as notificaçÔes sobre a economia de energia mostradas na tela parecem explorar muita bateria. Este estudo permitiu refletir sobre as formas que podem auxiliar os utilizadores a economizar a bateria do telefone sem usar energia da mesma bateria e, mesmo assim, o poderem fazer de maneira eficiente. A pesquisa oferece uma visĂŁo global das alternativas que podem ser usadas para conservar com mais eficiĂȘncia a energia do smartphone, propondo um modelo que envolve os utilizadores finais no processo.Un problĂšme frĂ©quent rencontrĂ© par les utilisateurs de smartphones Android a Ă©tĂ©, tout en l’étant toujours, d’économiser leur batterie et d’éviter la nĂ©cessitĂ© d’utiliser des ressources de recharge. La croissance considĂ©rable de l’utilisation des smartphones s’accompagne clairement d’une augmentation des besoins en Ă©nergie. Cette relation prĂ©opĂ©rationnelle entre la technologie moderne et l’énergie gĂ©nĂšre des applications gourmandes en Ă©nergie, et donc des utilisateurs finaux qui le sont tout autant. De nombreuses applications relevant de la mĂȘme catĂ©gorie dans une boutique partagent gĂ©nĂ©ralement des fonctionnalitĂ©s similaires. Étant donnĂ© que les dĂ©veloppeurs adoptent diffĂ©rentes approches de conception et de dĂ©veloppement, chaque application a ses propres caractĂ©ristiques de consommation d’énergie. Comme les applications partagent des fonctionnalitĂ©s similaires, un utilisateur final disposant d’un accĂšs limitĂ© aux ressources de recharge prĂ©fĂ©rerait une application Ă©coĂ©nergĂ©tique plutĂŽt qu’une autre gourmande en Ă©nergie. Cependant, les boutiques d’applications ne donnent aucune indication sur le comportement Ă©nergĂ©tique des applications qu’elles proposent, ce qui incite les utilisateurs Ă  choisir des applications au hasard sans comprendre leurs caractĂ©ristiques en ce domaine. En outre, en ce qui concerne les questions de recherche sur le fait que les applications d’économie d’énergie consomment beaucoup d’électricitĂ©, des Ă©tudes antĂ©rieures indiquent clairement que la dĂ©charge d’une batterie est due Ă  plusieurs facteurs. Ce problĂšme est devenu une prĂ©occupation majeure pour les utilisateurs et les fabricants de smartphones. La principale contribution de notre Ă©tude est de concevoir un outil qui peut agir comme un facteur d’aide efficace Ă  la dĂ©cision pour que les utilisateurs finaux aient une indication initiale du comportement de consommation d’énergie d’une application avant de l’installer. L’idĂ©e de base de la philosophie « avant l’installation » est simplifiĂ©e par le concept contradictoire d’installer l’application pour ensuite la contrĂŽler et l’optimiser. Puisque les opĂ©rations de traitement exigent de l’énergie, Ă©viter la consommation d’une partie d’entre elles pour l’économiser devrait ĂȘtre notre prioritĂ©. Nous proposons donc une stratĂ©gie prĂ©ventive qui ne nĂ©cessite aucun traitement sur une couche quelconque du smartphone. Pour rĂ©soudre ce problĂšme, nous proposons un modĂšle d’évaluation au moyen d’étoiles (star-rating evaluation model ou SREM), une approche qui gĂ©nĂšre une note Ă©nergĂ©tique indicative pour chaque application. À cette fin, le SREM adapte les outils actuels de refactoring sensibles Ă  l’énergie pour dĂ©montrer le niveau de consommation d’énergie d’une application et la prĂ©sente dans un schĂ©ma de classement par Ă©toiles similaire aux labels Ă©cologiques utilisĂ©s sur les appareils Ă©lectromĂ©nagers. Le SREM incitera Ă©galement les dĂ©veloppeurs et les fournisseurs d’applications Ă  mettre au point plusieurs versions avides d’énergie d’une mĂȘme application afin de rĂ©pondre aux besoins des diffĂ©rentes catĂ©gories d’utilisateurs et d’évaluer leurs propres applications. Nous avons proposĂ© d’ajouter le SREM au Google Play Store afin de gĂ©nĂ©rer le label d’efficacitĂ© Ă©nergĂ©tique pour chaque application. Celui-ci servira de guide Ă  la fois pour les utilisateurs finaux et les dĂ©veloppeurs sans exĂ©cuter de processus sur le smartphone des utilisateurs finaux. Notre recherche passe Ă©galement en revue la littĂ©rature existante pertinente, en particulier celle qui couvre divers outils et techniques d’économie d’énergie proposĂ©s par divers auteurs pour les smartphones Android. Une analyse secondaire a Ă©tĂ© effectuĂ©e en Ă©valuant les documents de recherche et les enquĂȘtes antĂ©rieurs qui ont Ă©tĂ© rĂ©alisĂ©s pour Ă©valuer la perception des utilisateurs concernant l’alimentation tĂ©lĂ©phonique depuis leur batterie. En outre, l’étude met en Ă©vidence un problĂšme selon lequel les notifications concernant les Ă©conomies d’énergie affichĂ©es Ă  l’écran semblent elles-mĂȘmes soumettre les batteries Ă  une forte utilisation. Par consĂ©quent, cette Ă©tude a Ă©tĂ© entreprise pour reflĂ©ter les façons qui pourraient aider les utilisateurs Ă  Ă©conomiser efficacement la batterie de leur tĂ©lĂ©phone sans pour autant la dĂ©charger. L’étude offre un bon aperçu des nouvelles façons d’économiser plus efficacement l’énergie des smartphones, en proposant un cadre qui implique les utilisateurs finaux dans le processus

    Energy-aware Software

    Get PDF
    Luca Ardito has focused his PhD on studying how to identify and to reduce the energy consumption caused by software. The project concentrates on the application level, with an experimental approach to discover and modify characteristics that waste energy. We can define five research goals: RG1. Is it possible to measure the energy consumption of an application? Measuring the energy consumption of an electronic device (PC, mobile phone, etc.) is straightforward, but several applications coexist on it, possibly with very different energy needs. Usage profiles for applications are certainly important too. We will consider the most common platforms (Windows, Linux, Mac Osx). RG2. Could Energy Efficiency be considered as a software non- functional requirement? Research has increasingly focused on improving the Energy Efficiency of hardware, but the literature still lacks in quantifying accurately the energy impact of software. This research goal is strictly related to the following one. RG3. Is it possible to profile the energy consumption of a software application? An empirical experiment could assess quantitatively the energetic impact of software usage by building up common application usage scenarios and executing them independently to collect power consumption data. RG4. Is there a relationship between the way a program is written and its energy consumption? The same application, at the code level, can be written in different ways. Here the question is if the different ways have impact on energy consumption. The code should be considered at two levels: source code (programmer) and object code/byte code (compiler). RG5. Is it possible to use the energy consumption information to trigger self-adaptation? A software application could automatically modify its behaviour in order to reduce its energy consumption
    • 

    corecore