ecoCode? What's it?


Our initial ambition is the creation of an environmental label devoted to "Green IT"; we promote the environmental-awareness design of mobile applications.

Environmental-awareness of software design involves the focus on impacts from the code we write: of course, first, we address the environmental impact in terms of energy/resource consumption. Second, ethics is a key focus as well, i.e., data confidentiality and user privacy.
Project's goals
Create and animate a developer community, which is concerned by environmental-awareness of software design
Determine rules and metrics to qualify a given mobile application by means of a classification framework (environmental responsibility label)
Create tools for attributing more or less automatically a label to any mobile application
Create tools for proposing improvement solutions to developers
Create and animate a user community, each user acting as a potential prescriber
Make known the ecoCode project and its associated know-how...
The method
Here is our approach for together establishing the way labels are fully characterized:
1
ecoCode community aims at together constructing the labeling framework in the form of successive incremental versions. Labeling is based on domains, for instance, energy consumption, bandwidth consumption, data security. So, project initiators put forward a starting domain list but the community is in charge of possibly extending this list.
2
For each domain, the goal is the formal characterization of rules from explicit metrics; these measure the more or less weight of a rule. In each domain, all contributors may declare new rules from concise code samples and associated metrics applicable to such code snippet.
3
Community may review the proposed rules to decide which are kept and which are rejected. On a daily basis, project initiators synthesize rules to get a normalized version, which in turn is submitted to the community for appreciation.
4
Once a rule version is acquired, project initiators have to provide a tool to make the rule effective for the community.
Planning
2020
Create the developer community
Writing of the first rules
Prototyping and technical validation for the tools in charge of application code evaluation
Share of the ecoCode project with the community
2021
Establishing and validating an initial pool of rules (75 rules per platform are expected)
Aggregation and management of a community for proposing and managing rules
Creation of evaluation tools for Android (Java / Kotlin): static code analyzer and synthesis dashboard