Peruma, Anthony; Arnaoudova, Venera; Newman, Christian IDEAL: An Open-Source Identifier Name Appraisal Tool Inproceedings In: Proceedings of the International Conference on Software Maintenance and Evolution (ICSME) - Demonstrations Track, pp. 599–603, 2021. Links | BibTeX | Tags: linguistic antipatterns, program comprehension, source code identifiers, Tool Fakhoury, Sarah; Roy, Devjeet; Ma, Yuzhan; Arnaoudova, Venera; Adesope, Olusola Measuring the Impact of Inconsistencies on Developers' Cognitive Load during Bug Localization Journal Article In: Empirical Software Engineering (EMSE), vol. 25, pp. 2140–2178, 2020. Links | BibTeX | Tags: Biometrics, empirical study, linguistic antipatterns, program comprehension Fakhoury, Sarah; Ma, Yuzhan; Arnaoudova, Venera; Adesope, Olusola The Effect of Poor Source Code Lexicon and Readability on Developers' Cognitive Load Inproceedings In: Proceedings of the International Conference on Program Comprehension (ICPC), pp. 286–296, 2018, (Distinguished Paper Award). Links | BibTeX | Tags: Biometrics, empirical study, linguistic antipatterns, program comprehension, source code identifiers Fakhoury, Sarah; Arnaoudova, Venera; Noiseux, Cedric; Khomh, Foutse; Antoniol, Giuliano Keep it simple: is deep learning good for linguistic smell detection? Inproceedings In: Proceedings of the International Conference on Software Analysis, Evolution, and Reengineering (SANER)—REproducibility Studies and NEgative Results (RENE) Track, 2018. Links | BibTeX | Tags: deep learning, empirical study, linguistic antipatterns, machine learning, source code identifiers, source code readability Guerrouj, Latifa; Kermansaravi, Zeinab; Arnaoudova, Venera; Fung, Benjamin; Khomh, Foutse; Antoniol, Giuliano; Guéhéneuc, Yann-Gaël Investigating the relation between lexical smells and change- and fault-proneness: an empirical study Journal Article In: Software Quality Journal (SQJ), vol. 25, no. 3, pp. 641–670, 2017. BibTeX | Tags: change proneness, fault proneness, linguistic antipatterns, source code identifiers Arnaoudova, Venera; Penta, Massimiliano Di; Antoniol, Giuliano Linguistic Antipatterns: What They are and How Developers Perceive Them Journal Article In: Empirical Software Engineering (EMSE), vol. 21, no. 1, pp. 104–158, 2015. Abstract | Links | BibTeX | Tags: developers' perception, empirical study, linguistic antipatterns, natural language processing, source code identifiers Arnaoudova, Venera Towards Improving the Code Lexicon and its Consistency PhD Thesis Polytechnique Montréal, 2014. Links | BibTeX | Tags: developers' perception, empirical study, fault prediction, linguistic antipatterns, program comprehension, renaming, source code identifiers Arnaoudova, Venera Improving Source Code Quality through the Definition of Linguistic Anti-patterns Inproceedings In: Doctoral Symposium of the Working Conference on Reverse Engineering (WCRE), pp. 285–288, 2010. BibTeX | Tags: linguistic antipatterns, program comprehension, software quality2021
@inproceedings{Peruma:icsmeTool:IDEAL,
title = {IDEAL: An Open-Source Identifier Name Appraisal Tool},
author = {Anthony Peruma and Venera Arnaoudova and Christian Newman},
url = {http://veneraarnaoudova.com/wp-content/uploads/2021/09/2021-ICSME-tool-IDEAL-An-Open-Source-Identifier-Name-Appraisal-Tool1.pdf},
year = {2021},
date = {2021-07-17},
booktitle = {Proceedings of the International Conference on Software Maintenance and Evolution (ICSME) - Demonstrations Track},
pages = {599--603},
keywords = {linguistic antipatterns, program comprehension, source code identifiers, Tool},
pubstate = {published},
tppubtype = {inproceedings}
}
2020
@article{Fakhoury:emse19:CognitiveLoad,
title = {Measuring the Impact of Inconsistencies on Developers' Cognitive Load during Bug Localization},
author = {Sarah Fakhoury and Devjeet Roy and Yuzhan Ma and Venera Arnaoudova and Olusola Adesope},
url = {http://veneraarnaoudova.ca/wp-content/uploads/2019/07/2019-EMSE-PREPRINT-Measuring-the-Impact-of-Lexical-and-Structural-Inconsistencies-on-Developers-Cognitive-Load-during-Bug-Localization.pdf},
year = {2020},
date = {2020-05-14},
journal = {Empirical Software Engineering (EMSE)},
volume = {25},
pages = {2140--2178},
keywords = {Biometrics, empirical study, linguistic antipatterns, program comprehension},
pubstate = {published},
tppubtype = {article}
}
2018
@inproceedings{Fakhoury:ICPC18:CognitiveLoad,
title = {The Effect of Poor Source Code Lexicon and Readability on Developers' Cognitive Load},
author = {Sarah Fakhoury and Yuzhan Ma and Venera Arnaoudova and Olusola Adesope},
url = {http://veneraarnaoudova.ca/wp-content/uploads/2018/03/2018-ICPC-Effect-lexicon-cognitive-load.pdf},
year = {2018},
date = {2018-03-03},
booktitle = {Proceedings of the International Conference on Program Comprehension (ICPC)},
pages = {286--296},
note = {Distinguished Paper Award},
keywords = {Biometrics, empirical study, linguistic antipatterns, program comprehension, source code identifiers},
pubstate = {published},
tppubtype = {inproceedings}
}
@inproceedings{Fakhoury:saner:CNN,
title = {Keep it simple: is deep learning good for linguistic smell detection?},
author = {Sarah Fakhoury and Venera Arnaoudova and Cedric Noiseux and Foutse Khomh and Giuliano Antoniol},
url = {http://veneraarnaoudova.ca/wp-content/uploads/2018/02/2018-SANER_RENE-preprint-simple-deep-learning.pdf},
year = {2018},
date = {2018-02-22},
booktitle = {Proceedings of the International Conference on Software Analysis, Evolution, and Reengineering (SANER)—REproducibility Studies and NEgative Results (RENE) Track},
keywords = {deep learning, empirical study, linguistic antipatterns, machine learning, source code identifiers, source code readability},
pubstate = {published},
tppubtype = {inproceedings}
}
2017
@article{Guerrouj:sqj2016,
title = {Investigating the relation between lexical smells and change- and fault-proneness: an empirical study},
author = {Latifa Guerrouj and Zeinab Kermansaravi and Venera Arnaoudova and Benjamin Fung and Foutse Khomh and Giuliano Antoniol and Yann-Gaël Guéhéneuc},
year = {2017},
date = {2017-09-01},
journal = {Software Quality Journal (SQJ)},
volume = {25},
number = {3},
pages = {641--670},
keywords = {change proneness, fault proneness, linguistic antipatterns, source code identifiers},
pubstate = {published},
tppubtype = {article}
}
2015
@article{LAsPerception-15,
title = {Linguistic Antipatterns: What They are and How Developers Perceive Them},
author = {Venera Arnaoudova and Massimiliano {Di Penta} and Giuliano Antoniol},
url = {/wp-content/uploads/2014/10/2014-EMSE-Arnaodova-et-al-Perception-LAs.pdf},
year = {2015},
date = {2015-01-01},
journal = {Empirical Software Engineering (EMSE)},
volume = {21},
number = {1},
pages = {104--158},
abstract = {Antipatterns are known as poor solutions to recurring problems. For example, Brown et al. and Fowler define practices concerning poor design or implementation solutions. However, we know that the source code lexicon is part of the factors that affect the psychological complexity of a program, i.e., factors that make a program difficult to understand and maintain by humans. The aim of this work is to identify recurring poor practices related to inconsistencies among the naming, documentation, and implementation of an entity—called Linguistic Antipatterns (LAs)—that may impair program understanding. To this end, we first mine examples of such inconsistencies in real open-source projects and abstract them into a catalog of 17 recurring LAs related to methods and attributes1. Then, to understand the relevancy of LAs, we perform two empirical studies with developers—30 external (i.e., not familiar with the code) and 14 internal (i.e., people developing or maintaining the code). Results indicate that the majority of the participants perceive LAs as poor practices and therefore must be avoided—69% and 51% of the external and internal developers, respectively. As further evidence of LAs’ validity, open source developers that were made aware of LAs reacted to the issue by making code changes in 10% of the cases. Finally, in order to facilitate the use of LAs in practice, we identified a sub-set of LAs which were universally agreed upon as being problematic; those which had a clear dissonance between code behavior and lexicon.
},
keywords = {developers' perception, empirical study, linguistic antipatterns, natural language processing, source code identifiers},
pubstate = {published},
tppubtype = {article}
}
2014
@phdthesis{Arnaoudova:phd14:Lexicon,
title = {Towards Improving the Code Lexicon and its Consistency},
author = {Venera Arnaoudova},
url = {/wp-content/uploads/2014/09/2014-PhD_Thesis-Arnaoudova-LexiconConsistency.pdf},
year = {2014},
date = {2014-08-25},
school = {Polytechnique Montréal},
keywords = {developers' perception, empirical study, fault prediction, linguistic antipatterns, program comprehension, renaming, source code identifiers},
pubstate = {published},
tppubtype = {phdthesis}
}
2010
@inproceedings{2010-WCREphd-Arnaoudova-LinguisticAntiPatterns,
title = {Improving Source Code Quality through the Definition of Linguistic Anti-patterns},
author = {Venera Arnaoudova},
year = {2010},
date = {2010-01-01},
booktitle = {Doctoral Symposium of the Working Conference on Reverse Engineering (WCRE)},
pages = {285--288},
keywords = {linguistic antipatterns, program comprehension, software quality},
pubstate = {published},
tppubtype = {inproceedings}
}