1,075 research outputs found

    A model-driven approach to broaden the detection of software performance antipatterns at runtime

    Full text link
    Performance antipatterns document bad design patterns that have negative influence on system performance. In our previous work we formalized such antipatterns as logical predicates that predicate on four views: (i) the static view that captures the software elements (e.g. classes, components) and the static relationships among them; (ii) the dynamic view that represents the interaction (e.g. messages) that occurs between the software entities elements to provide the system functionalities; (iii) the deployment view that describes the hardware elements (e.g. processing nodes) and the mapping of the software entities onto the hardware platform; (iv) the performance view that collects specific performance indices. In this paper we present a lightweight infrastructure that is able to detect performance antipatterns at runtime through monitoring. The proposed approach precalculates such predicates and identifies antipatterns whose static, dynamic and deployment sub-predicates are validated by the current system configuration and brings at runtime the verification of performance sub-predicates. The proposed infrastructure leverages model-driven techniques to generate probes for monitoring the performance sub-predicates and detecting antipatterns at runtime.Comment: In Proceedings FESCA 2014, arXiv:1404.043

    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

    Software-Driven and Virtualized Architectures for Scalable 5G Networks

    Full text link
    In this dissertation, we argue that it is essential to rearchitect 4G cellular core networks–sitting between the Internet and the radio access network–to meet the scalability, performance, and flexibility requirements of 5G networks. Today, there is a growing consensus among operators and research community that software-defined networking (SDN), network function virtualization (NFV), and mobile edge computing (MEC) paradigms will be the key ingredients of the next-generation cellular networks. Motivated by these trends, we design and optimize three core network architectures, SoftMoW, SoftBox, and SkyCore, for different network scales, objectives, and conditions. SoftMoW provides global control over nationwide core networks with the ultimate goal of enabling new routing and mobility optimizations. SoftBox attempts to enhance policy enforcement in statewide core networks to enable low-latency, signaling-efficient, and customized services for mobile devices. Sky- Core is aimed at realizing a compact core network for citywide UAV-based radio networks that are going to serve first responders in the future. Network slicing techniques make it possible to deploy these solutions on the same infrastructure in parallel. To better support mobility and provide verifiable security, these architectures can use an addressing scheme that separates network locations and identities with self-certifying, flat and non-aggregatable address components. To benefit the proposed architectures, we designed a high-speed and memory-efficient router, called Caesar, for this type of addressing schemePHDComputer Science & EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttps://deepblue.lib.umich.edu/bitstream/2027.42/146130/1/moradi_1.pd

    Testing of Neural Networks

    Get PDF
    Research in Neural Networks is becoming more popular each year. Re- search has introduced different ways to utilize Neural Networks, but an important aspect is missing: Testing. There are only 16 papers that strictly address Testing Neural Networks with a majority of them focusing on Deep Neural Networks and a small part on Recurrent Neural Networks. Testing Re- current neural networks is just as important as testing Deep Neural Networks as they are used in products like Autonomous Vehicles. So there is a need to ensure that the recurrent neural networks are of high quality, reliable, and have the correct behavior. For the few existing research papers on the testing of recurrent neural networks, they only focused on LSTM or GRU recurrent neural network architectures, but more recurrent neural network architectures exist such as MGU, UGRNN, and Delta-RNN. This means we need to see if ex- isting test metrics works for these architectures or do we need to introduce new testing metrics. For this paper we have two objectives. First, we will do a comparative analysis of the 16 papers with research in Testing Neural Networks. We define the testing metrics and analyze the features such as code availability, programming languages, related testing software concepts, etc. We then perform a case study with the Neuron Coverage Test Metric. We will conduct an experiment using unoptimized RNN models trained by a tool within EXAMM, a RNN Framework and optimized RNN Models trained and optimized using ANTS. We compared the Neuron Coverage Outputs with the assumption that the Optimized Models will perform better

    30 Years of Software Refactoring Research: A Systematic Literature Review

    Full text link
    Peer Reviewedhttps://deepblue.lib.umich.edu/bitstream/2027.42/155872/4/30YRefactoring.pd
    • …
    corecore