It is good practice to name test methods such that they are comprehensible to developers; they must be written in such a way that their purpose and functionality are clear to those who will maintain them. Unfortunately, there is little automated support for writing or maintaining the names of test methods. This can lead to inconsistent and low-quality test names and increase the maintenance cost of supporting these methods. Due to this risk, it is essential to help developers in maintaining their test method names over time. In this paper, we use grammar patterns, and how they relate to test method behavior, to understand test naming practices. This data will be used to support an automated tool for maintaining test names.
more »
« less
IDEAL: An Open-Source Identifier Name Appraisal Tool
Developers must comprehend the code they will maintain, meaning that the code must be legible and reasonably self-descriptive. Unfortunately, there is still a lack of research and tooling that supports developers in understanding their naming practices; whether the names they choose make sense, whether they are consistent, and whether they convey the information required of them. In this paper, we present IDEAL, a tool that will provide feedback to developers about their identifier naming practices. Among its planned features, it will support linguistic anti-pattern detection, which is what will be discussed in this paper. IDEAL is designed to, and will, be extended to cover further anti-patterns, naming structures, and practices in the near future. IDEAL is open-source and publicly available, with a demo video available at: https://youtu.be/fVoOYGe50zg
more »
« less
- Award ID(s):
- 1850412
- PAR ID:
- 10313024
- Date Published:
- Journal Name:
- IEEE International Conference on Software Maintenance and Evolution (ICSME)
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Schickore, Jutta (Ed.)Ethnobotanical research provides ample justification for comparing diverse biological nomenclatures and exploring ways that retain alternative naming practices. However, how (and whether) comparison of nomenclatures is possible remains a subject of discussion. The comparison of diverse nomenclatural practices introduces a suite of epistemic and ontological difficulties and considerations. Different nomenclatures may depend on whether the communities using them rely on formalized naming conventions; cultural or spiritual valuations; or worldviews. Because of this, some argue that the different naming practices may not be comparable if the ontological commitments employed differ. Comparisons between different nomenclatures cannot assume that either the naming practices or the object to which these names are intended to apply identifies some universally agreed upon object of interest. Investigating this suite of philosophical problems, I explore the role grey nomenclatures play in classification. ‘Grey nomenclatures’ are defined as those that employ names that are either intentionally or accidently non-Linnaean. The classification of the lichen thallus (a symbiont) has been classified outside the Linnaean system by botanists relying on the International Code of Nomenclature for algae, fungi, and plants (ICN). But, I argue, the use of grey names is not isolated and does not occur exclusively within institutionalized naming practices. I suggest, ‘grey names’ also aptly describe nomenclatures employed by indigenous communities such as the Sámi of Northern Finmark, the Sherpa of Nepal, and the Okanagan First Nations. I pay particular attention to how naming practices are employed in these communities; what ontological commitments they hold; for what purposes are these names used; and what anchors the community's nomenclatural practices. Exploring the history of lichen naming and early ethnolichenological research, I then investigate the stakes that must be considered for any attempt to preserve, retain, integrate, or compare the knowledge contained in both academically formalized grey names and indigenous nomenclatures in a way that preserves their source-specific informational content.more » « less
-
This paper describes the results of a large (+ 1100 responses) survey of professional software developers concerning standards for naming source code methods. The various standards for source code method names are derived from and supported in the software engineering literature. The goal of the survey is to determine if there is a general consensus among developers that the standards are accepted and used in practice. Additionally, the paper examines factors such as years of experience and programming language knowledge in the context of survey responses. The survey results show that participants very much agree about the importance of various standards and how they apply to names and that years of experience and the programming language has almost no effect on their responses. The results imply that the given standards are both valid and to a large degree complete. The work provides a foundation for automated method name assessment during development and code reviews.more » « less
-
As concern over data privacy and existing privacy regulations grows, legal scholars have proposed alternative models for data privacy. This work explores the impact of one such model---the data fiduciary model, which would stipulate that data processors must use personal information only in ways that reflect the best interest of the data subject---through a pair of user studies. We first conduct an interview study with nine mobile app developers in which we explore whether, how, and why these developers believe their current data practices are consistent with the best interest of their users. We then conduct an online study with 390 users in which we survey participants about whether they consider the same data practices to be in their own best interests. We also ask both developers and users about their attitudes towards and their predictions about the impact of a data fiduciary law, and we conclude with recommendations about such an approach to future privacy regulations.more » « less
-
Developers in open source projects must make decisions on contributions from other community members, such as whether or not to accept a pull request. However, secondary factors—beyond the code itself—can influence those decisions. For example, signals from GitHub profiles, such as a number of followers, activity, names, or gender can also be considered when developers make decisions. In this paper, we examine how developers use these signals (or not) when making decisions about code contributions. To evaluate this question, we evaluate how signals related to perceived gender identity and code quality influenced decisions on accepting pull requests. Unlike previous work, we analyze this decision process with data collected from an eye-tracker. We analyzed differences in what signals developers said are important for themselves versus what signals they actually used to make decisions about others. We found that after the code snippet (x=57%), the second place programmers spent their time fixating on supplemental technical signals(x=32%), such as previous contributions and popular repositories. Diverging from what participants reported themselves, we also found that programmers fixated on social signals more than recalled.more » « less
An official website of the United States government

