8 research outputs found

    E-Debitum: managing software energy debt

    Get PDF
    35th IEEE/ACM International Conference on Automated Software Engineering Workshops (ASEW ’20) - International Workshop on Sustainable Software Engineering (SUSTAIN-SE)This 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 catalogue 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.This work is financed by National Funds through the Portuguese funding agency, FCT -Fundação para a Ciência e a Tecnologia within project UIDB/50014/2020

    PENGARUH REFACTORING CODE SMELLS DENGAN AUTOMATIC STATIC ANALYSIS TOOLS TERHADAP PENGGUNAAN SUMBER DAYA PERANGKAT LUNAK SELULER ANDROID

    Get PDF
    Perangkat lunak memiliki keterbatasan sumber daya yaitu CPU dan memori. Investigasi penelitian lain mengungkapkan bahwa kode program buruk dapat berdampak pada penurunan kinerja yang berarti meningkatnya konsumsi pada CPU dan memori. Survei penelitian lain menunjukkan bahwa pengguna dapat menghapus pemasangan perangkat lunak karena adanya kinerja yang berlebihan (75,2%) sehingga perangkat lunak tidak berjalan dan konsumsi memori yang besar (42,6%). Kode program buruk disebabkan buruknya praktik penulisan kode dan implementasi yang menyebabkan pemeliharaan perangkat lunak jangka panjang dan berdampak negatif. Dampak negatif mengindikasikan dapat merusak pemeliharaan perangkat lunak dengan mengabaikan pelanggaran aturan yaitu code smells yang disebabkan gaya pemrograman yang buruk, kurangnya dokumentasi dan tingginya kompleksitas pada kode program. Sehingga solusi tersebut perlu adanya eksplorasi code smells dengan salah satu ASATs yang sudah digunakan oleh 85.000 organisasi bernama SonarQube dan dilanjutkan refactoring code smells tunggal dan kumulatif. Topik ini berkaitan dengan pemeliharaan perangkat lunak dengan tujuan untuk menganalisis code smells dan refactoring serta membandingkan setiap perangkat lunak Android versi orisinal dan versi refactoring dengan aspek yang diuji mencakup Fixed Detection Ratio (FDR), perubahan relatif, penggunaan CPU dan memori menggunakan pendekatan Design Research Methodology (DRM). Code smells yang diteliti mencakup Blocker, Critical, Major, Minor, HashMap Usage, Member Ignoring Method, dan Slow Loop. Hasil penelitian yang telah dilakukan membuktikan adanya penurunan intensitas code smells pada Calculator (60%), Todolist (71%), Openflood (93%) dan penurunan konsumsi penggunaan CPU yang signifikan pada Member Ignoring Method (-7,7%) dan Critical (-9,90%). Selain itu, penurunan konsumsi memori berdampak lebih signifikan pada setiap perangkat lunak versi refactoring tunggal maupun kumulatif. ----- Software has resource limitations, namely CPU and memory. Other research investigations have revealed that bad programming code can impact performance, resulting in increased CPU and memory consumption. Another survey has shown that users may uninstall software due to excessive performance issues (75.2%) resulting in the software crashes, and high memory consumption (42.6%). Poor programming code is caused by bad coding practices and implementation, leading to long-term software maintenance issues and negative impacts. Negative impacts indicate that ignoring rule violations, such as code smells caused by poor programming styles, lack of documentation, and high code complexity, can damage software maintenance. Therefore, a solution is needed to explore code smells using one of the ASATs named SonarQube, which is already used by 85,000 organizations, followed by single and cumulative code smell refactoring. This topic relates to software maintenance with the aim of analyzing code smells and refactoring, and comparing each Android software's original and refactored versions with aspects tested including Fixed Detection Ratio (FDR), relative change, CPU and memory usage using the Design Research Methodology (DRM) approach. The investigated code smells include Blocker, Critical, Major, Minor, HashMap Usage, Member Ignoring Method, and Slow Loop. The results of the conducted research prove a decrease in code smell intensity in Calculator (60%), Todolist (71%), and Openflood (93%), and significant decreases in CPU usage in Member Ignoring Method (-7.7%) and Critical (-9.90%). In addition, the decrease in memory consumption has a more significant impact on each software's single and cumulative refactored versions

    Empirical Evaluation of the Energy Impact of Refactoring Code Smells

    No full text
    Software energy efficiency has gained increasing attention of the research community. How to improve it, however, still lacks evidence. Specifically, the impact of code smell refactoring on energy efficiency has been scarcely investigated. In the pilot study here reported, we investigate the impact on performance and energy consumption of refactoring well-known code smells on Java software applications. In order to understand if software metrics can be used as indicators of the energy impact of refactoring, we also measured the variation caused by refactoring on a set of well-established software metrics. We conducted a controlled experiment using state-of-the-art power measurement equipment. Statistical hypothesis testing and effect size estimation were performed on the experimental results. Results show that in one out of three applications, refactoring each smell significantly impacted power- and energy consumption. Specifically, refactoring Feature Envy and Long Method smells led to a 49% energy efficiency improvement. No software metrics significantly correlated with execution time, power or energy consumption. In conclusion, refactoring code smells can significantly improve software energy efficiency. The magnitude of the impact may depend on application properties, e.g. size or age. Further research is needed to understand the relationship between software metrics and energy efficiency

    Empirical Evaluation of the Energy Impact of Refactoring Code Smells

    No full text
    corecore