313 research outputs found
ahgreen
<p>The LICENSE for the Source Code is generally GPL-2+ or GPL-2 compatible.</p>
<p>For DATA creativecommons.org/licenses/by/4.0 The LICENSE for the Data is CC-BY 4.0 please attribute Abram Hindle using the following instructions:</p>
<p>To properly attribute Abram Hindle on as per the requirements of CC-BY 4.0, citation to the MSR Data Track paper or Abram Hindle’s Green Mining paper are fine:</p>
<p>@inproceedings{hindle2012green, title={Green mining: A methodology of relating software change to power consumption}, author={Hindle, Abram}, booktitle={Mining Software Repositories (MSR), 2012 9th IEEE Working Conference on}, pages={78--87}, year={2012}, organization={IEEE} }</p>
greentrace
<p>The datasets consist of energy consumption of applications over multiple versions, associated with execution traces under various test cases.</p>
<p>Our datasets were generated by analyzing two open source applications, the text editor gedit and the audio player mpg123. For each application, we have built multiple versions and developed two test cases to gather the data. The data gathered from each test case forms a dataset and it contains the mean power consumption and the corresponding invocation count of system calls for each version. Each dataset is in CSV format and each row in the CSV file represents the data of each application version. The number of columns in each dataset varies because of the number of different system calls traced in different applications as well as test cases. But the first column is always the mean power consumption of each application version ordered chronologically. The rest of the columns are different system calls and each entry shows the number of system call invocations.</p>
<p>Explanation of the text files</p>
<ul>
<li>gedit-versionsstores the gedit version numbers we have tested under text editing and syntax highlighting test cases.</li>
<li>gedit-commit-versionstores the tested gedit version numbers with the corresponding git commit hash.</li>
<li>mpg123-play-mp3-versionsstores the mpg123 version numbers we have tested under mp3 playing test case.</li>
<li>mpg123-play-stream-versionsstores the mpg123 version number we have tested under stream playing test case.</li>
</ul>
<p>License</p>
<p>The LICENSE for the Source Code is generally GPL-2+ or GPL-2 compatible.</p>
<p>For DATA creativecommons.org/licenses/by/4.0 The LICENSE for the Data is CC-BY 4.0 please attribute Abram Hindle using the following instructions:</p>
<p>To properly attribute Chenlei Zhang on as per the requirements of CC-BY 4.0:</p>
<p>@MastersThesis{zhang2013thesis, author = {Chenlei Zhang}, title = {The Impact of User Choice and Software Change on Energy Consumption}, school = {University of Alberta}, year = {2013} }</p>
Developing a systemic textual analysis method based on the human activity system modelling language of soft system methodology (SSM)
The paper introduces a textual analysis method which utilises a modified version of the Human Activity System (HAS) modelling language from Soft Systems Methodology (SSM). For ease of reference, the method is referred to as the Systemic Textual Analysis Method (STAM). The method constitutes one form of application of a wider ranging systemic methodology for qualitative research, textual analysis and document design (Hindle 2003). The research programme of STAM included a literature review of textual analysis, initial piloting of the method by the author on a range of target texts, and external testing with several different users. Following trends in hermeneutics, linguistics and cultural studies, STAM balances objective and subjective aspects of the process of textual analysis through the use of a systemic activity-based modelling language and the notion of "recoverability" (Checkland and Holwell 1998). In the form presented in this paper, STAM can be used to analyse texts which constitute formal descriptions of processes, methods or methodologies. Such analysis is intended to support critical evaluation of the texts in terms of characteristics such as content, descriptive quality, logical structure, overall coherence and completeness. The basic tenet of STAM is that a formal description of a process, method or methodology can be conceptualised as a set of activities, and therefore a HAS (Checkland and Scholes 1990). STAM opetationalises this concept in the form of a 6 step process, which runs the normal HAS modelling process of SSM in reverse. The paper gives an example of how STAM can be used to analyse a short piece of text which prescribes the process of borrowing a book from a library
Enhancing Code Completion for Computer Musicians: A Dataset and Predictive Model for Pure Data
Pure Data (PD), a widely used visual programming language (VPL) in computer music, lacks robust code completion tools that are essential for enhancing usability and improving the user experience. While code completion tools are prevalent in textual programming languages, there is a gap in research on visual code completion for graph-based VPLs like PD, particularly regarding the selection of appropriate objects (nodes) and connections (edges) in specific contexts to enhance the user experience. PD's unique graph-based structure is fundamentally different from the linear nature of textual programming languages, making existing textual code completion tools unsuitable for computer musicians, and highlighting the need for a dedicated visual code completion solution. To address this gap in visual code completion, this thesis introduces TriGraph, a graph-based probabilistic model that predicts nodes and edges in PD graphs, providing an effective support tool for computer musicians.
To develop TriGraph, we created a publicly available PD dataset by analyzing 6,534 projects from GitHub, then trained and evaluated 5 TriGraph models using statistical analysis of 1-node, 2-node, and 3-node subgraph frequencies to predict unknown nodes and edges in PD graphs. We also compared the performance of TriGraph with an n-gram-based KenLM model to assess the effectiveness of our graph-based approach. Our evaluations indicate that our TriGraph model achieves an average Mean Reciprocal Rank (MRR) score of 0.39 for node prediction, outperforming the KenLM model, and an average MRR score of 0.57 for edge prediction, placing the correct answer within the top 2-3 suggestions. Additionally, our analysis of the PD dataset revealed that most PD projects are small and simple, with few nodes, connections, and revisions, and are typically developed by a single author, with minimal changes made between successive revisions.
This work significantly advances the field of computer music by providing improved support for PD users through the visual code completion model and a comprehensive dataset, helping both academic researchers and computer musicians navigate the complexities of visual programming languages more efficiently, and enhancing practical development in computer music
Roundtable: What's Next in Software Analytics
Experts in software analytics (SA) share their views on what they thought were the most important, or overlooked, aspect of this field. According to Ahmed E. Hassan, NSERC BlackBerry Software Engineering Chair, SA brings the notion of business intelligence to the software industry through fact-based decision support systems. Future SA research must look beyond these mundane tasks for SA to become a powerful, strategic, decision-making instrument. SA needs to service a project's various stakeholders, its marketing, sales, support, and legal teams. Abram Hindle, an assistant professor of computing science at the University of Alberta, sees a future in software analytics where layers of context are taken into consideration. Per Runeson, a professor in software engineering at Lund University, says that the visualization is what will make the software analytics powerful. Sunghum Kim, an assistant professor at the Hong Kong University of Science and Technology, says that there is a need to provide the services of information analysts to developers and assist them in making the right decisions.</p
Application of Natural Language Processing and Information Retrieval in Two Software Engineering Tools
Many software engineering problems have traditionally been approached by applying techniques based on static analysis and fixed sets of rules. I created two novel techniques to tackle three software engineering problems: typo location, fix suggestion, and crash report bucket creation. However, unlike previous techniques based on static analysis or a fixed set of rules, these techniques are based on methods commonly used to handle natural language artifacts.
Existing tools and previous work typically tries to be general and work with any valid program or theoretically possible output. In contrast, this thesis builds upon the success of prior work that successfully applied NLP models to code to improve code completion in an IDE (Integrated Development Environment). This thesis continues in that vein and presents tools that focus on the code that programmers actually write and the crashes that actually occur.
First, I applied natural-language models to locate errors in source code that cause the code to fail to compile or create an error when the code runs. Language models can adapt to coding styles and idioms. My co-authors and I showed that a tool using an n-gram model of code previously compiled successfully could supplement errors with locations produced by the Java compiler. Using our tool to suggest a location after each error message produced by the Java compiler resulted in an MRR score 11-40% closer to a perfect score than the Java compiler's score. Then, my co-authors and I showed that a similar approach also worked with the Python interpreter, though it faced significantly more challenges. When combined with the Python interpreter's error messages, our approach correctly located an additional 9-23% of tested typos made by mutation. Next, my co-authors and I showed that the technique still worked in a more restricted offline setting. In addition, we showed that the approach could also accurately suggest changes to repair around a third of typos made by students.
I also applied the TF-IDF representation and distance function to the task of bucketing (clustering) software crash reports. In all cases, performance (in terms of F1-score) matched or beat commonly used rule-based techniques. The TF-IDF-driven approach can adapt automatically to patterns in crash reports as they evolve. Additionally, several side benefits arose from using statistical techniques.Some errors in source code can be automatically repaired using a language model. Patterns in crash metadata can be extracted easily using a bag-of-words approach with a suitable tokenizer.
This thesis’s results encourage research on approaches based on on-line off-the-shelf algorithms or models initially developed for natural-language artifacts with programming language and other software artifacts. However, this thesis’s results do not necessarily guarantee that such uses will be successful; it does indicate that they should, at least, be considered
Classification and Analysis of 12-Lead Electrocardiograms
The electrocardiogram is the standard tool for detecting cardiac abnormalities, such as atrial fibrillation, irregular complexes, and heart blocks.
However, the interpretation of this data is an unsolved problem with discrepancies among panels of cardiologists and automated analysis requiring additional human over-reading.
This thesis explores the classification of 12-lead ECGs to a set of 27 diagnoses as defined in the PhysioNet/CinC 2020 Challenge.
I propose three approaches, starting with manual feature engineering and classification using shallow gradient boosted tree ensembles.
Our second approach uses a deep learning approach by combining fixed and variable length autoencoders to learn the features, followed by a multi layer perceptron (MLP) classifier.
Our third approach combines the deep autoencoders and our shallow decision tree ensembles by training the shallow gradient boosted trees with both the manually extracted features as well as the bottleneck dimension representation of the 12-lead ECG record.
I empirically evaluate our different approaches using a weighted classification scoring function using repeated random subsampling of the publicly available challenge dataset.
This thesis concludes with future ways to approach the multi-channel signal classification problem that addresses some of the limitations discovered in the prior approaches.
Our best model, using the averaged top 1000 manually engineered features with autoencoder embeddings, attains a mean test split challenge metric of 0.4366 with an overall mean classification accuracy of 30.7%
Endowing third-party libraries recommender systems with explicit user feedback mechanisms
Scripts and modules to train deep learning models for mortality prediction using ECGs
Companion code for
Towards artificial intelligence-based learning health system for population-level prediction of short and longer-term mortality using electrocardiograms
Weijie Sun, MSc; Sunil Kalmady Vasu, PhD; Nariman Sepehrvand, MD, PhD; Amir Salimi, MSc; Yousef Nademi, PhD; Kevin Bainey, MD, MSc; Justin A. Ezekowitz, MBBCh, MSc; Russell Greiner, PhD; Abram Hindle, PhD; Finlay A. McAlister, MD, MSc; Roopinder K. Sandhu, MD, MPH; Padma Kaul, PhD </p
- …
