Skip to content

giganticode/commit-classification

 
 

Repository files navigation

commit-classification

Provide languge models for commit classification, data sets and protocols.

Part of the supplementary Materials of the "The Corrective Commit Probability Code Quality Metric" paper by Idan Amit and Dror G. Feitelson.

Please cite as

@misc{amit2020corrective,
    title={The Corrective Commit Probability Code Quality Metric},
    author={Idan Amit and Dror G. Feitelson},
    year={2020},
    eprint={2007.10912},
    archivePrefix={arXiv},
    primaryClass={cs.SE}
}

And the supplementary Materials of the "Which Refactoring Reduces Bug Rate?" paper by Idan Amit and Dror G. Feitelson. Promise 2019

Please cite as


@inproceedings{Amit:2019:RRB:3345629.3345631,
 author = {Amit, Idan and Feitelson, Dror G.},
 title = {Which Refactoring Reduces Bug Rate?},
 booktitle = {Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering},
 series = {PROMISE'19},
 year = {2019},
 isbn = {978-1-4503-7233-6},
 location = {Recife, Brazil},
 pages = {12--15},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/3345629.3345631},
 doi = {10.1145/3345629.3345631},
 acmid = {3345631},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Code quality, machine learning, refactoring},
} 

Project structure

There are many nuances in the definition of concepts.Should a typo be considered a bug fix?What about bugs in test files? We defined protocols that prosent the guidelines with respect to them we label.That makes the decision taken transparent and helps researchers considering a dataset to decide if it fits their needs.

This directory contains manually labeled data sets for the classifiers.The samples are labeled by the protocol.The sampling column, when exists, references the query used to sample them.This is important since random sampling, a sample of hits and active learning sampling have different properties and usage.

Our main data source is BigQuery GitHub scheme and the research infrostructure we built upon it. The queries directory contains queries for sampling the data set and big query functions (generated from the Python models and used on BigQuery).

Main directory

Python code that builds each of the models. Our models are aimed to run on Bigquery and therefore should be implemented using regular expression. The Python code is used for decomposition and reuse and makes the code more concise.

There is plenty of great work in the field.Data sets are being created, language constructs are published.We collect here links that can be useful for linguistic analysis in software engineering.If you are familiar with such resources, please inform us.

Related repositories

See here the research infrostructure constructing our software engineering scheme

See here the analysis utilities

See here the corrective commit probability code, using all the above

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 89.0%
  • HTML 11.0%