Mobile and wearable devices are nowadays the de facto personal computers, while desktop computers are becoming less popular. Therefore, it is important for companies to deliver efficient mobile applications. As an example, Google has published a set of best practices to optimize the performance of Android applications. However, these guidelines fall short to address energy consumption. As mobile software applications operate in resource-constrained environments, guidelines to build energy efficient applications are of utmost importance. In this paper, we studied whether or not eight best performance-based practices have an impact on the energy consumed by Android applications. In an experimental study with six popular mobile applications, we observed that the battery of the mobile device can last up to approximately an extra hour if the applications are developed with energy-aware practices. This work paves the way for a set of guidelines for energy-aware automatic refactoring techniques.
Software engineers make use of design patterns for reasons that range from performance to code comprehensibility. Several design patterns capturing the body of knowledge of best practices have been proposed in the past, namely creational, structural and behavioral patterns. However, with the advent of mobile devices, it becomes a necessity a catalog of design patterns for energy efficiency. In this work, we inspect commits, issues and pull requests of 1027 Android and 756 iOS apps to identify common practices when improving energy efficiency. This analysis yielded a catalog, available online, with 22 design patterns related to improving the energy efficiency of mobile apps. We argue that this catalog might be of relevance to other domains such as Cyber-Physical Systems and Internet of Things. As a side contribution, an analysis of the differences between Android and iOS devices shows that the Android community is more energy-aware.RQ2: How different are mobile app practices addressing energy efficiency across different platforms?We found that Android developers have higher awareness towards energy efficiency improvement than iOS developers. We show the prevalence of each energy pattern in the two platforms and discuss potential causes. This paper makes the following contributions:-We propose a catalog of energy patterns with a detailed description and instructions for mobile app developers and designers. It is available online: https: //tqrg.github.io/energy-patterns, and we welcome contributions from the community as pull request. -We provide a dataset with 1563 commits, issues, and pull requests in which mobile app development practitioners address the energy efficiency of their apps. The dataset and collection tools are available online: https://github. com/TQRG/energy-patterns.-We compare energy efficiency awareness in mobile app development in different platforms (viz. Android and iOS).1 StackOverflow is a collaborative Web platform for questions and answers on a wide range of topics in computer programming.
Anthocyanins are the main polyphenolic dyes found in young red wines, which are transformed into more stable structures such as pyranoanthocyanins, during wine ageing and maturation. While anthocyanins practically lose their red color between pH 1 and 5, as a result of the formation of colorless hemiketals, pyranoanthocyanins practically do not change their color intensity. For that they constitute a photosensitizer family with great potential for bio-inspired dye-sensitized solar cells (DSSCs). In this work, a series of pyranoanthocyanin derivatives were designed, synthesized and applied for the first time as dye sensitizers in DSSCs. A relation was established between dye structure and cell efficiency. Specifically, the influence of different linker units, carboxyl and catechol, was studied in terms of their influence in the various parameters related to DSSC efficiency. The presence of the catechol unit was shown to be essential for efficient electron injection of the dye into the TiO 2 semiconductor, since carboxylic units showed a deleterious effect in electron injection due to their electron withdrawing character. An overall efficiency of 1.15% was obtained for the best performing compound, 10-catecholpyrano-3',4',5,7tetrahydroxyplavylium, with no further optimization.
Software testing is an important phase in the software development lifecycle because it helps in identifying bugs in a software system before it is shipped into the hand of its end users. There are numerous studies on how developers test general-purpose software applications. The idiosyncrasies of mobile software applications, however, set mobile apps apart from general-purpose systems (e.g., desktop, stand-alone applications, web services). This paper investigates working habits and challenges of mobile software developers with respect to testing. A key finding of our exhaustive study, using 1000 Android apps, demonstrates that mobile apps are still tested in a very ad hoc way, if tested at all. However, we show that, as in other types of software, testing increases the quality of apps (demonstrated in user ratings and number of code issues). Furthermore, we find evidence that tests are essential when it comes to engaging the community to contribute to mobile open source software. We discuss reasons and potential directions to address our findings. Yet another relevant finding of our study is that Continuous Integration and Continuous Deployment (CI/CD) pipelines are rare in the mobile apps world (only 26% of the apps are developed in projects employing CI/CD) -we argue that one of the main reasons is due to the lack of exhaustive and automatic testing.
Energy efficiency is a crucial quality requirement for mobile applications. However, improving energy efficiency is far from trivial as developers lack the knowledge and tools to aid in this activity. In this paper we study the impact of changes to improve energy efficiency on the maintainability of Android applications. Using a dataset containing 539 energy efficiencyoriented commits, we measure maintainability -as computed by the Software Improvement Group's web-based source code analysis service Better Code Hub (BCH) -before and after energy efficiency-related code changes. Results show that in general improving energy efficiency comes with a significant decrease in maintainability. This is particularly evident in code changes to accommodate the Power Save Mode and Wakelock Addition energy patterns. In addition, we perform manual analysis to assess how real examples of energy-oriented changes affect maintainability. Our results help mobile app developers to 1) avoid common maintainability issues when improving the energy efficiency of their apps; and 2) adopt development processes to build maintainable and energy-efficient code. We also support researchers by identifying challenges in mobile app development that still need to be addressed.
The pyranoanthocyanins present in red wine display great potential as photosensitizers in bio-inspired Dye-Sensitized Solar Cells (DSSCs). Following a biomimetic approach, a series of amino-π-bridgepyranoanthocyanin derivatives were employed as dye sensitizers in DSSCs. The dimethylamine group was selected to take advantage of its electron-donor character and the possibility of 'dual-mode anchoring' (-OH vs. dimethylamino) to titanium dioxide. The increase in π-conjugation via insertion of C=C bonds affected molecule flexibility, electron-donor ability and the pH-dependent equilibria of the pyranoanthocyanin derivatives. The current vs. potential properties of photoanodes using these dyes pointed to essential features of the relationship between power conversion efficiency and dye structure. These included the influences of the dimethylamine group, of π-conjugation and of substitution in ring B on the adsorption of the dyes to TiO2 and on the overall performance of the DSSCs prepared from them with and without added acid. An overall efficiency of 2.55% was obtained for the best performing compound, 4-(dimethylamino)-cinnamyl-pyranocyanidin-3-O-glucoside (JO3), which consolidates the importance of this family of compounds as potential dye-sensitizers for DSSC applications.
Due to the continuous change in operational data, AIOps solutions suffer from performance degradation over time. Although periodic retraining is the state-of-the-art technique to preserve the failure prediction AIOps models' performance over time, this technique requires a considerable amount of labeled data to retrain. In AIOps obtaining label data is expensive since it requires the availability of domain experts to intensively annotate it. In this paper, we present McUDI, a model-centric unsupervised degradation indicator that is capable of detecting the exact moment the AIOps model requires retraining as a result of changes in data. We further show how employing McUDI in the maintenance pipeline of AIOps solutions can reduce the number of samples that require annotations with 30k for job failure prediction and 260k for disk failure prediction while achieving similar performance with periodic retraining.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.