Green Mining
Green Mining is a mixture of software energy efficiency, software energy consumption, and software power consumption research and mining software repositories research. Essentially green mining is about the effect of software change and software evolution on software power consumption.
- Green Mining
- Software Energy Consumption
- Energy Aware Mining
- Software Power Consumption
Papers
Green Mining Papers
Green Mining: A Methodology of Relating Software Change and Configuration to Power Consumption
- http://softwareprocess.es/2015/green-emse-web-edition.pdf
- EMSE 2014 Journal
- Big summary of green mining using OO metrics on multiple systems. CHURN correlated with energy consumption as well for some systems.
Green Mining: Investigating Power Consumption across Versions
- http://softwareprocess.es/a/green-nier-web.pdf
- ICSE NIER 2012
Green Mining: A Methodology of Relating Software Change to Power Consumption
- http://softwareprocess.es/a/green-change-web.pdf
- MSR 2012
- Study energy consumption over multiple versions of a software system and do CKJM metrics like DIT relate to energy consumption.
GreenMiner?: A Hardware Based Mining Software Repositories Software Energy Consumption Framework
- http://softwareprocess.es/2015/greenminer.pdf
- Source Code of Green Miner
- In MSR 2014
- Continuation integration software for testing power regressions + hardware to do it.
The Impact of User Choice on Energy Consumption
- http://softwareprocess.es/2015/user_test-ieee-software-web.pdf
- In IEEE Software 2014
- Blog http://softwareprocess.es/blog/blog/2014/08/12/energy-ratings-for-apps/
- User's decide how to use their own energy -- let's consider energy star for apps.
On Improving Green Mining For Energy-Aware Software Analysis -- Stephen Romansky, Abram Hindle
- Blog Post: http://terminallog.com/blog/2014/09/03/green-mining-methodology-paper/
- Video: https://www.youtube.com/watch?v=4UaPS5iNPYY
- Paper: http://softwareprocess.es/2015/cascon2014GM.pdf
- In CASCON 2014
- Green mining takes time so let's use search based software engineering to reduce the time to get an energy profile.
The Power of System Call Traces: Predicting the Software Energy Consumption Impact of Changes
- Paper: http://softwareprocess.es/2015/Cascon2014.pdf
- Blog Post: http://kaggarwal32.blogspot.ca/2014/05/this-blog-post-is-from-work-thepower-of.html
- In CASCON 2014
- Syscalls can predict energy consumption of software
Green Programmers Tech Report
- http://webdocs.cs.ualberta.ca/~hindle1/2014/green-programmers/
- What do programmer's know about software energy consumption?
A Green Miner’s Dataset: Mining the Impact of Software Change on Energy Consumption
- http://softwareprocess.es/2015/green-data.pdf
- MSR Data 2014
- Data: https://github.com/greentrace/green-dataset
- Data: https://github.com/abramhindle/green-data-msr/
- Need Green Data? We have it!
Green Mining: Energy Consumption of Advertisement Blocking Methods
- PAPER http://softwareprocess.es/2015/adblock-kent-paper.pdf
- GREENS 2014
- Does Adblock save power? Yes!
Investigation of the relationship between code change set n-grams and change in energy consumption
- Tech Report
- http://softwareprocess.es/2014/1411.2047.pdf
- N-grams related to energy consumption
Presentations
Green Mining NIER/MSR
Here's a demo presentation I gave prior to ICSE NIER in Zurich:- 30mb [10mins] http://softwareprocess.es/a/green-mining-nier-short.ogv
Here's a presentation I gave to the CS Department of Queens University in Kingston, ON:
More Presentations
- Green Mining: Relating Software Metrics to Power Consumption
- Green Mining: What can we tell developers
Data
A Green Miner’s Dataset: Mining the Impact of Software Change on Energy Consumption
- http://softwareprocess.es/2015/green-data.pdf
- MSR Data 2014
- Data: https://github.com/greentrace/green-dataset
- Data: https://github.com/abramhindle/green-data-msr/
- Need Green Data? We have it!
The Effect of Software Change on Power Consumption
Green Mining is a mixture of software power consumption research and mining software repositories research. Essentially green mining is about the effect of software change and software evolution on software power consumption.
The goals of green mining are to investigate and learn from software evolution from a power consumption perspective.
Mobile devices and servers face limits on the amount of electrical power they may draw upon. These limits comes from batteries or the capacity of racks and enclosures. Furthermore more hardware tasks are being moved into software that the software engineer, and even application-level software developers are having a greater impact on the power consumption of a computer system than ever before. Applications affect power usage because they interact with a wide variety of peripherals such as screens, radios, wifi, and speakers. Previous work has focused more on the systems level de- velopers, we want to instead focus on application developers and help them reduce the power consumption of their applications. Thus we want to document the types of changes that impact power consumption. We want to be able to estimate the power consumption induced by new changes to a system. Finally we want to leverage mining software mining repositories research to help us understand how maintenance and evo- lution of software systems affect software power consumption. Reduced software power consumption leads to reduced carbon emitted that could affect the global climate, ar- guably this is the kind of software engineering that can help the world!
Firefox 3.6 Power Consumption versus the Past, From Green Mining: Investigating Power Consumption Across Versions, to be published at ICSE 2012 in the NIER Track
Firefox test runs consumption over time, from MSR 2012 Submission "Green Mining: A Methodology of Relating Software Change to Power Consumption"
Power consumption issues are typically in the hands of electrical and computer engineers responsible for these systems, yet more and more responsibility for power consumption is being shifted to software engineers as their software is directly responsible for device utiliza- tion (e.g., software radio firmware). In particular, applications running on mobile devices can have an extreme effect on power consumption. Applications can consume power in many ways:
- · Computation: The more computation (CPU usage), the greater the power consump-
- tion; and multimedia is particularly challenging for mobile devices.
- · Disk I/O: Reading from a disk often requires stopped disks to spin-up.
- · Memory I/O: Memory needs to be continuously powered to operate.
- · Network I/O: receiving and transmitting over wireless networks is very power intensive.
- · Multimedia: Video and Sound driven applications are very I/O intensive.
Since applications can consume power in many different ways, practitioners seek methods of engineering software to reduce power consumption. While others have suggested models and policies to reduce power consumption that focus on hardware and operating systems, I will develop a research program that helps developers reduce the power usage of application- level software based on an understanding of the impact that certain types of changes have on software power consumption. Questions that this program will address include:
- · What information needs to be gathered to observe and estimate power consumption?
- · What kinds of changes to software affect power consumption?
- · What kinds of software architectures or design patterns reduce power consumption?
- · How do we identify development processes associated with power consumption?
- · What kinds of data-mining techniques do we need to monitor power consumption?
I am specifically looking for interesting candidate students who want to explore Green Mining with me!