code search engines
Recently Published Documents


TOTAL DOCUMENTS

7
(FIVE YEARS 2)

H-INDEX

2
(FIVE YEARS 0)

2021 ◽  
Author(s):  
Carlos Eduardo C. Dantas ◽  
Marcelo A. Maia

Code search engines usually use readability feature to rank code snippets. There are several metrics to calculate this feature, but developers may have different perceptions about readability. Correlation between readability and understandability features has already been proposed, i.e., developers need to read and comprehend the code snippet syntax, but also understand the semantics. This work investigate scores for understandability and readability features, under the perspective of the possible subjective perception of code snippet comprehension. We find that code snippets with higher readability score has better comprehension than lower ones. The understandability score presents better comprehension in specific situations, e.g. nested loops or if-else chains. The developers also mentioned writability aspects as the principal characteristic to evaluate code snippets comprehension. These results provide insights for future works in code comprehension score optimization.


Author(s):  
G. Priyalakshmi ◽  
R. Latha

Code reuse has become very popular among software developers in recent times since it saves time and resources. One of the significant difficulties to software reuse is the time pertaining to assess the fitness of the reusable code components. Over the recent years, code search engines have made momentous advancement in establishing the semantic suitability of software components for new usage scenarios. But the issue of evaluating software components based on their nonfunctional suitability has been overlooked to a large extent. The maintenance and reusability of software systems are highly influenced by the structural properties of system classes like complexity, size, coupling, cohesion, etc. The quality of object-oriented code or design artifacts is commonly measured by analyzing the structure of these artifacts in terms of the interdependencies of classes and components as well as their internal elements. In this paper, we perform an empirical analysis on Python packages for the two measures namely coupling and cohesion. The coupling score of a module is computed as module imports and the cohesion score of a module is evaluated as call dependency between classes and global functions of the module. Finally, the proposed work evaluates a package in terms of reusability score which is a cumulative score of the coupling scores and cohesion scores of all the modules within the package. The study has evaluated 15 different packages and five different releases of one single package for reusability. We have empirically tested that the Halstead’s effort metric is inversely proportional to the reusability score. The reusability score was validated using four code detuners. The proposed work was compared with the existing metrics namely cyclomatic complexity and maintainability Index showing satisfactory results.


2016 ◽  
Vol 16 (5-6) ◽  
pp. 721-737 ◽  
Author(s):  
ISABEL GARCÍA-CONTRERAS ◽  
JOSÉ F. MORALES ◽  
MANUEL V. HERMENEGILDO

AbstractProgrammers currently enjoy access to a very high number of code repositories and libraries of ever increasing size. The ensuing potential for reuse is however hampered by the fact that searching within all this code becomes an increasingly difficult task. Most code search engines are based on syntactic techniques such as signature matching or keyword extraction. However, these techniques are inaccurate (because they basically rely on documentation) and at the same time do not offer very expressive code query languages. We propose a novel approach that focuses on querying for semantic characteristics of code obtained automatically from the code itself. Program units are pre-processed using static analysis techniques, based on abstract interpretation, obtaining safe semantic approximations. A novel, assertion-based code query language is used to express desired semantic characteristics of the code as partial specifications. Relevant code is found by comparing such partial specifications with the inferred semantics for program elements. Our approach is fully automatic and does not rely on user annotations or documentation. It is more powerful and flexible than signature matching because it is parametric on the abstract domain and properties, and does not require type definitions. Also, it reasons with relations between properties, such as implication and abstraction, rather than just equality. It is also more resilient to syntactic code differences. We describe the approach and report on a prototype implementation within the Ciao system.


2016 ◽  
Vol 22 (1) ◽  
pp. 259-291 ◽  
Author(s):  
Haoran Niu ◽  
Iman Keivanloo ◽  
Ying Zou

Sign in / Sign up

Export Citation Format

Share Document