Code Monkey home page Code Monkey logo

ecocode-android's Introduction

Logo

Mobile apps running on top of battery-limited, android-powered devices are more than others concerned by the reduction of their environmental footprint. Hence, we created ecoCode android, the version of ecoCode project fully dedicated to the Android platform. It provides static code analyzers to highlight code structures that may have a negative ecological impact: energy over-consumption, "fatware", shortening devices' lifespan, etc.

ecoCode android is based on an evolving catalog of best practices for Android. A SonarQube plugin then implements this catalog as rules for scanning your native Android projects. To learn more, take a look at the complete presentation (:fr:) or the presentation in a nutshell. A hands-on tutorial is also available (:fr:).

License: GPL v3

🌿 SonarQube Plugin

Screenshot

The custom GUI above is reserved to educational purpose only.

🚀 Quickstart

A SonarQube container image with ecoCode Android embedded exists !

docker run -ti --rm \
       -v sq_ecocode_android_logs:/opt/sonarqube/logs \
       -v sq_ecocode_android_data:/opt/sonarqube/data \
       -p 9000:9000 \
       --name sonarqube-ecocode-android  \
       ghcr.io/green-code-initiative/sonarqube-ecocode-android:latest

Wait a little bit during first start initialization, and go to http://localhost:9000. Default credentials are admin/admin

🤝 Partners

Snapp’ Université de Pau Région Nouvelle-Aquitaine Solocal / PagesJaunes

📢 Cite this work

If you use ecoCode in an academic work we would be really glad if you cite our seminal paper using the following bibtex entry:

@inproceedings{10.1145/3551349.3559518,
  author = {Le Goaer, Olivier and Hertout, Julien},
  title = {ecoCode: A SonarQube Plugin to Remove Energy Smells from Android Projects},
  year = {2023},
  isbn = {9781450394758},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  url = {https://doi.org/10.1145/3551349.3559518},
  doi = {10.1145/3551349.3559518},
  booktitle = {37th IEEE/ACM International Conference on Automated Software Engineering},
  articleno = {157},
  numpages = {4},
  keywords = {android, energy, smells, debt, quality, battery},
  location = {Rochester, MI, USA},
  series = {ASE22}
}

🛒 Distribution

Ready to use binaries are available from GitHub.

🧩 Plugins version compatibility

Plugins Version SonarQube version
0.0.+ SonarQube 8.9.+ LTS to 9.3
0.1.+ SonarQube 9.4.+ LTS to 9.9
1.0.+ SonarQube 9.4.+ LTS to 9.9
1.1.+ SonarQube 9.4.+ LTS to 10.3

☕ Plugin Java part compatibility

Plugins Version Java version
0.0.+ 11 / 17
0.1.+ 11 / 17
1.0.+ 11 / 17
1.1.+ 11 / 17

ecocode-android's People

Contributors

olegoaer avatar jhertout avatar dedece35 avatar jules-delecour-dav avatar troulet avatar med-s avatar linkinfoxco avatar cbion avatar oussamalaribi avatar obeone avatar nicolasdaviet avatar ahmedcove1 avatar cychop avatar zippy1978 avatar glalloue avatar natixis-caen avatar alexishillion avatar silicoman avatar hyralc avatar gaelfoppolo avatar hiba99git avatar essess74 avatar jycr avatar jbureau92 avatar lsdla avatar usfalami avatar mp-aubay avatar funixg avatar antoinemeheut avatar progear974 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.