Research Promotion Site of Abram Hindle

Abram is a professor at the University of Alberta, in Edmonton, Alberta, Canada within the Department of Computing Sciences. He researches software engineering, mining software repositories, software process recovery, the intersection between software engineering and computer music, and Green Mining (the study of software change versus software energy consumption and software power consumption).
- A general overview of my publications: DBLP Google Scholar
- Current Version of my Curriculum Vitae
- Abram’s Blog
- Listing and Downloads of all of my publications
Prospective Graduate Students please read this page before contacting me: Guide to Prospective Students
What can Abram offer you?
- Methods, Technology and Tools for characterizing past developer behaviour in a software project, based on information stored in Source Control Repositories.
- Methodology and tools to relate software evolution and software power consumption / software energy use / software power use: Green Mining
- Methods and technologies for building and using computer music systems. The cross-over between software engineering and computer music: SoftwareEngineeringAndComputerMusic
What questions does Abram seek to help answer?
- Green Mining energy aware mining of software. Software Energy Consumption studies across versions. Correlations with performance and other metrics.
- Distributing Web Music Interfaces
- Composing Distributed Web Instruments in the cloud
- Security Concerns of Computer Music Instruments
- Electronically Excited Didgeridoo
- An Empirical Study of End-user Programmers in the Computer Music Community
- Guitar Transcription
Graduate Students:
-
Current Graduate Students:
- Hareem Sahar (PhD)
- Amir Salimi (PhD) - https://www.madewithdrama.love/
- Weijie Sun (PhD) - https://jeremykid.github.io/about/
- Kalvin Eng (PhD) - https://kalvineng.com
- Ziyuan (Bruce) Guo (MSc)
- Malcolm Nielsen (MSc)
- Imgyeong Lee (MSc) - https://github.com/ImgyeongLee
- Daniel Penner (MSc)
- Lukas Ottenhof (MSc)
- Tayyib Ul Hassan (MSc) - https://tayyibgondal.github.io/me/
-
Past Students:
- Samuel Iwuchukwu (MSc) - https://unclesamtech.github.io/
- Anisha Islam (MSc) - http://anishaislam8.github.io/
- Abdul Ali Bagnash (PhD)
- Amir Salimi (MSc)
- Alexander Wong (MSc)
- Hazel Campbell (PhD)
- Yourui Guo (MSc)
- Rameel Sethi (MSc)
- Candy Pang (PhD)
- Shaiful Chowdhury (PhD)
- Stephen Romansky (MSc)
- Eddie Antonio Santos (MSc)
- Gregory Burlet (MSc Thesis)
- Karan Aggarwal (MSc Thesis)
- Chenlei Zhang (MSc Thesis)
- Anahita Alipour (MSc Thesis)
- Varun Sapra (MSc course based)
Teaching:
- Courses:
- CMPUT 201 Programming IRL
- CMPT 301 Intro to SE
- CMPUT 410 Webservices Winter 2014, Winter 2015
- CMPUT 404 Webservices
- CMPUT 664 Topics in Mining Software Repositories, Processes, and Artifacts Winter 2013, Winter 2014
- CMPUT 663 Topics in Mining Software Repositories, Processes, and Artifacts Winter 2013, Winter 2014
- Directed studies in Computer Music (Audio and deep learning), Green Mining, and Mining Software Repositories
Awards:
- 2020 Telus World of Science Fellowship $2500
- 2017 CS-Can/Info-Can Outstanding Young Computer Science Researcher prize
- 2017 Mining Software Repositories Early Career Achievement Award: “To recognize the rigor, fearlessness, and breadth of his MSR-related research, and for establishing a new area of research related to green-mining.”
- 2017 – 2022 NSERC Discovery Grant $108000
- 2017 NSERC Engage with Black Duck Software $25000
- 2016 SIGSOFT ACM Distinguished Paper Award – ICSE 2016
- 2016 KIAS Team Grant with M. Friskopf et al. $7500
- 2016 Best MSR Mining Challenge Paper – MSR 2016
- 2015 MITACS Accelerate Cluster with Bioware $106666
- 2015 Best MSR Mining Challenge Paper – MSR 2015
- 2015 The Interdepartmental Science Students’ Society: Excellence in Undergraduate Teaching Award
- 2014 NSERC Engage with BioWare? $22000
- 2014 Faculty of Science: Student’s Honor Roll
- 2013 Microsoft Software Engineering Innovation Foundation Award $25000
- 2012 – 2017 NSERC Discovery Grant $95000
- 2012 MSR Best Paper Award – MSR 2012
- 2012 Best MSR Mining Challenge Paper – MSR 2012
- 2010 Best Presentation Award - Mining Software Archives 2010
- 2015 ISSS Teaching Award
- NSERC Discovery Grant
- MSR 2012 Best Paper Award
Potentially fun things:
- My Github Repos
- My Bitbucket Repos
- My musical endeavour: SkruntSkrunt
- My youtube channel
- Former Labs
Contact
email: web@softwareprocess.es
Abram Hindle
Department of Computing Science
447 Athabasca Hall
University of Alberta
Prospective Graduate Students
Prospective Graduate Students please read this page before contacting me: Guide to Prospective Students
Posts
- 2026/04/20 Harmonized Interpretable ECG Waveform Features for Robust Cross-Dataset Clinical Prediction
- 2026/03/21 How Far Can VLMs Go for Visual Bug Detection? Studying 19,738 Keyframes from 41 Hours of Gameplay Videos
- 2026/01/19 How do Agents Refactor: An Empirical Study
- 2026/01/19 Mining Type Constructs Using Patterns in AI-Generated Code
- 2025/11/30 Automated Bug Frame Retrieval from Gameplay Videos Using Multimodal Large Language Models
- 2025/10/26 Evaluating Sound Similarity Metrics for Differentiable, Iterative Sound-Matching
- 2025/08/28 DeRC_ECG: Combined UNet-ResNet Framework for Automated Denoising and Classification of Noisy Paper-Based ECGs
- 2025/07/08 Does faster mean greener? Runtime and energy trade-offs in iOS applications with compiler optimizations
- 2025/01/13 Under the Blueprints: Parsing Unreal Engine’s Visual Scripting at Scale
- 2025/01/12 TriGraph: A Probabilistic Subgraph-Based Model for Visual Code Completion in Pure Data
- 2025/01/01 Machine Learning for Detection of Wolff-Parkinson-White Syndrome Using ECG Data
- 2024/08/02 IRJIT: A simple, online, information retrieval approach for just-in-time software defect prediction
- 2024/07/05 Diagnostic and Prognostic Models Based on Electrocardiograms for Rapid Clinical Applications
- 2024/02/19 Patterns of multi-container composition for service orchestration with Docker Compose
- 2024/02/04 Federated Learning and Differential Privacy Techniques on Multi-hospital Population-scale Electrocardiogram Data
- 2024/01/12 Opening the Valve on Pure-Data: Usage Patterns and Programming Practices of a Data-Flow Based Visual Programming Language
- 2024/01/01 Development and validation of machine learning algorithms based on electrocardiograms for cardiovascular diagnoses at the population level
- 2023/11/01 Supervised Electrocardiogram (ECG) Features Outperform Knowledge-based And Unsupervised Features In Individualized Survival Prediction
- 2023/09/24 Generative Data by β-Variational Autoencoders Help Build Stronger Classifiers: ECG Use Case
- 2023/09/01 Dovecot and Thunderbird, bad certificate ssl alert number 42 errors
- 2023/08/23 Predicting Individual Survival Distributions Using ECG: A Deep Learning Approach Utilizing Features Extracted by a Learned Diagnostic Model
- 2023/08/10 Identifying Defect-Inducing Changes in Visual Code
- 2023/08/10 Predicting Defective Visual Code Changes in a Multi-Language AAA Video Game Project
- 2023/03/07 An Empirical Study to Investigate Collaboration Among Developers in Open Source Software (OSS)
- 2023/03/07 Energy Consumption Estimation of API-usage in Smartphone Apps via Static Analysis
- 2023/03/07 Evolution of the Practice of Software Testing in Java Projects
- 2023/01/03 CMPUT404: Webservices
- 2023/01/03 CMPUT301: INTRO TO SOFTWARE ENGINEERING
- 2023/01/01 Towards artificial intelligence-based learning health system for population-level mortality prediction using electrocardiograms
- 2022/11/02 Analyzing Techniques for Duplicate Question Detection on Q&A Websites for Game Developers
- 2022/07/18 CMPUT660: Machine Learning Applied: Software Engineering, Software Analtyics, and Software Energy Consumption (2022)
- 2022/01/01 Improving ECG-based COVID-19 diagnosis and mortality predictions using pre-pandemic medical records at population-scale
- 2021/12/30 A Black Box Technique to Reduce Energy Consumption of Android Apps
- 2021/11/30 Dorabella Cipher as Musical Inspiration
- 2021/10/26 ECG for high-throughput screening of multiple diseases: Proof-of-concept using multi-diagnosis deep learning from population-based datasets
- 2021/06/15 Energy Efficient Guidelines for iOS Core Location Framework
- 2021/04/23 Experimental Analysis of the Dorabella Cipher with Statistical Language Models
- 2021/04/05 What Causes Wrong Sentiment Classifications of Game Reviews?
- 2021/02/22 PySStuBs: Characterizing Single-Statement Bugs in Popular Open-Source Python Projects
- 2021/02/22 Revisiting Dockerfiles in Open Source Software Over Time
- 2021/01/29 Multilabel 12-Lead Electrocardiogram Classification Using Beat To Sequence Autoencoders
- 2020/10/29 How are issue reports discussed in Gitter chat rooms?
- 2020/10/15 Borderlands 3 and Confidence Intervals of Loot Drop Rates
- 2020/10/01 Multilabel 12-Lead Electrocardiogram Classification Using Gradient Boosting Tree Ensemble
- 2020/09/17 Make your own audience: virtual listeners can filter generated drum programs
- 2020/09/10 Essence of Chaos: Experiments and simulations with marbles and tubes
- 2020/08/07 On the Time-Based Conclusion Stability of Cross-Project Defect Prediction Models
- 2020/06/10 Statistics and probability for randomized games (loot shooters, roguelites, roguelikes, etc.)
- 2020/05/26 CMPUT201: Practical Programming Methodology / Programming IRL / The C Course / You didn’t teach that why are you testing us on it!
- 2020/01/15 Understanding DevOps Education with Grounded Theory
- 2019/07/13 Syntax and Stack Overflow: A Methodology for Extracting a Corpus of Syntax Errors and Fixes
- 2019/07/13 Syntax and Stack Overflow: {A} Methodology for Extracting a Corpus of Syntax Errors and Fixes
- 2019/03/01 What do developers know about machine learning: a study of ML discussions on StackOverflow
- 2019/02/27 Complexity: Let’s Not Make This Complicated
- 2018/12/01 GreenBundle: An Empirical Study on the Energy Impact of Bundled Processing
- 2018/08/15 Automatic topic classification of test cases using text mining at an Android smartphone vendor
- 2018/07/20 Preventing Duplicate Bug Reports by Continuously Querying Bug Reports
- 2018/07/13 How does Docker affect energy consumption? Evaluating workloads in and out of Docker containers
- 2018/07/07 If you bill it, they will pay: Energy consumption in the cloud will be irrelevant until directly billed for
- 2018/06/20 An exploratory study on assessing the energy impact of logging on Android applications
- 2018/06/20 GreenScaler: Training Software Energy Models With Automatic Test Generation
- 2018/05/17 An App Performance Optimization Advisor for Mobile Device App Marketplaces
- 2018/05/10 Training Deep Convolutional Networks with Unlimited Synthesis of Musical Examples for Multiple Instrument Recognition
- 2018/05/10 What can Android mobile app developers do about the energy consumption of machine learning?
- 2017/12/18 Syntax and Sensibility: Using language models to detect and correct syntax errors
- 2017/11/01 Analyzing the effects of test driven development in GitHub
- 2017/07/29 Continuous Maintenance
- 2017/06/12 Deep Green: An Ensemble of Machine Learning Methods Predicting Mobile Energy Consumption
- 2017/04/04 Performance with an Electronically Excited Didgeridoo
- 2017/03/01 Isolated guitar transcription using a deep belief network
- 2017/01/01 Expert Commentary: The potential synthesizer in your pocket
- 2016/08/01 Detecting duplicate bug reports with software engineering domain knowledge
- 2016/06/10 Visualizing Project Evolution Through Abstract Syntax Tree Analysis
- 2016/05/14 The Unreasonable Effectiveness of Traditional Information Retrieval in Crash Report Deduplication
- 2016/04/04 Hadoop energy consumption reduction with hybrid HDFS
- 2016/03/28 Characterizing Energy-Aware Software Projects: Are They Different?
- 2016/03/28 Hacking NIMES
- 2016/03/28 Judging a commit by its cover: Correlating commit message entropy with build status on Travis-CI
- 2016/03/02 Detecting duplicate bug reports with software engineering domain knowledge
- 2016/02/29 GreenOracle: Estimating Software Energy Consumption with Energy Measurement Corpora
- 2016/01/01 Leaders of Tomorrow on the Future of Software Engineering: A Roundtable
- 2016/01/01 The Perils of Energy Mining: Measure a Bunch, Compare just Once
- 2015/12/22 Green Software Engineering: The Curse of Methodology
- 2015/12/18 Crowdsourced Bug Triaging: Leveraging Q&A Platforms for Bug Assignment
- 2015/12/17 Client-Side Energy Efficiency of HTTP/2 for Web and Mobile App Developers
- 2015/12/15 Energy Profiles of Java Collections Classes
- 2015/09/29 GreenAdvisor: A Tool for Analyzing the Impact of Software Evolution on Energy Consumption
- 2015/08/06 A system-call based model of software energy consumption without hardware instrumentation
- 2015/08/06 Hadoop branching: Architectural impacts on energy and performance
- 2015/07/24 Crowdsourced bug triaging
- 2015/06/28 A contextual approach towards more accurate duplicate bug report detection and ranking
- 2015/05/31 Orchestrating Your Cloud Orchestra
- 2015/05/18 On the Naturalness of Software
- 2015/05/16 An Empirical Study of End-user Programmers in the Computer Music Community
- 2015/05/16 Mining StackOverflow to Filter out Off-topic IRC Discussion
- 2015/01/01 Latent Dirichlet Allocation: Extracting Topics from Software Engineering Data
- 2015/01/01 What do programmers know about the energy consumption of software?
- 2014/11/03 Involvement, Contribution and Influence in Github and Stack Overflow
- 2014/11/03 On Improving Green Mining For Energy-Aware Software Analysis
- 2014/11/03 The Power of System Call Traces: Predicting the Software Energy Consumption Impact of Changes
- 2014/06/01 Green mining: energy consumption of advertisement blocking methods
- 2014/05/31 A green miner’s dataset: mining the impact of software change on energy consumption
- 2014/05/31 Co-evolution of project documentation and popularity within github
- 2014/05/31 GreenMiner: a hardware based mining software repositories software energy consumption framework
- 2014/05/08 CloudOrch: A Portable SoundCard in the Cloud
- 2014/04/08 Syntax Errors Just Aren’t Natural: Improving Error Reporting with Language Models
- 2014/03/11 The Impact of User Choice on Energy Consumption
- 2014/01/01 Do topics make sense to managers and developers?
- 2013/11/18 A Multidimensional Empirical Study on Refactoring
- 2013/09/22 On the Personality Traits of StackOverflow Users
- 2013/04/01 SWARMED: Captive Portals, Mobile Devices, and Audience Participation in Multi-User Music Performance
- 2013/03/16 Deficient documentation detection: a methodology to locate deficient project documentation using topic analysis
- 2013/03/15 A contextual approach towards more accurate duplicate bug report detection
- 2013/01/01 Automated Topic Naming Supporting Cross-project Analysis of Software Maintenance Activities
- 2013/01/01 Green Mining: a Methodology of Relating Software Change and Configuration to Power Consumption
- 2013/01/01 Roundtable: What’s Next in Software Analytics
- 2012/08/14 Understanding Android Fragmentation with Topic Analysis of Vendor-Specific Bugs
- 2012/06/20 Relating Requirements to Implementation via Topic Analysis: Do Topics Extracted from Requirements Make Sense to Managers and Developers?
- 2012/06/02 The Build Dependency Perspective of Android’s Concrete Architecture
- 2012/05/11 Software Bertillonage Determining the Provenance of Software Development Artifacts
- 2012/03/24 Cohesive and Isolated Development with Branches
- 2012/03/16 Green Mining: A Methodology of Relating Software Change to Power Consumption
- 2012/03/12 Do the stars align? Multidimensional analysis of Android’s Layered Architecture
- 2012/01/27 Green Mining: Investigating Power Consumption across Versions
- 2012/01/27 On the Naturalness of Software
- 2011/10/17 Got Issues? Do New Features and Code Improvements Affect Defects?
- 2011/10/17 On the Effectiveness of Simhashing in Clone Detection on Large Scale Software System
- 2011/09/05 BugCache for Inspections : Hit or Miss?
- 2011/05/23 Determining the provenance of software artifacts
- 2011/05/21 A Simpler Model of Software Readability
- 2011/05/21 Automated topic naming to support cross-project analysis of software maintenance activities
- 2011/05/21 Multifractal Aspects of Software Development
- 2011/05/21 Software Bertillonage: Finding the provenance of an entity
- 2010/10/13 Software Process Recovery: Recovering Process From Artifacts
- 2010/09/12 Software Process Recovery using Recovered Unified Process Views
- 2010/05/02 Mining Challenge 2010: FreeBSD, GNOME Desktop and Debian/Ubuntu
- 2009/09/20 What’s Hot and What’s Not: Windowing Developer Topic Analysis
- 2009/05/19 Automatic Classification of Large Changes into Maintenance Categories
- 2009/05/16 Mining Recurrent Activities: Fourier Analysis of Change Events
- 2009/01/01 Reading beside the lines: Using indentation to rank revisions by complexity
- 2008/10/15 Reverse Engineering CAPTCHAs
- 2008/09/28 From Indentation Shapes to Code Structures
- 2008/06/10 Reading Beside the Lines: Indentation as a Proxy for Complexity Metrics
- 2008/05/10 What do large commits tell us?: A taxonomical study of large commits
- 2007/10/02 Release Pattern Discovery: A Case Study of Database Systems
- 2007/06/25 YARN: Animating Software Evolution
- 2007/05/19 Release Pattern Discovery via Partitioning: Methodology and Case Study
- 2006/01/01 Visualizing the evolution of software using softChange
- 2005/09/19 Measuring Fine-Grained Change in Software: Towards Modification-Aware Change Metrics
- 2005/05/17 SCQL: A formal model and a query language for source control repositories
- 2004/06/20 Visualizing the evolution of software using softChange
