Code smell is a risky code pattern impacting code maintenance. Some of the code smells are defined by metrics (e.g., lines of code). Unfortunately, it is not clear how to set these thresholds for them. Goal: To propose a smell description language that allows querying code repositories to empirically determine impact of metric thresholds on severity of smells. Method: We propose a language, called McPython, that allows defining metric-based smells. We evaluate the expressiveness of the language by specifying some popular code smells. Results: McPython is a functional domain-specific language that allows defining smells as parameterized logical propositions with auxiliary functions. McPython code is translated to Python and executed on object-oriented representation of a code repository. Its current version is capable of expressing 7 code smells. Conclusion: Despite its limitations, McPython has the potential to help in investigating the impact of code smell parameters on their severity.
2
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Selecting suitable techniques for requirements elicitation in IT projects is crucial to the business analysis planning process. Typically, the determining factors are the preferences of stakeholders, primarily business analysts, previous experience, and company practices, as well as the availability of sources of information. The influence of other factors is not as evident. One of the possible ways to form recommendations for using techniques is the analysis of industrial experience. This paper is intended to analyze the application of association rules mining to define factors influencing technique selection and predict the usage of a particular elicitation technique depending on the project context and specialist background. The dataset for experiments was formed based on a survey of 324 specialists from Ukrainian IT companies. The associations found to make it possible to speed up the process of choosing elicitation techniques and improve the elicitation process efficiency.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.