scholarly journals COMPARISON OF SOFTWARE COMPLEXITY OF SEARCH ALGORITHM USING CODE BASED COMPLEXITY METRICS

Author(s):  
Bello Muriana ◽  
Ogba Paul Onuh

Measures of software complexity are essential part of software engineering. Complexity metrics can be used to forecast key information regarding the testability, reliability, and manageability of software systems from study of the source code. This paper presents the results of three distinct software complexity metrics that were applied to two searching algorithms (Linear and Binary search algorithm). The goal is to compare the complexity of linear and binary search algorithms implemented in (Python, Java, and C++ languages) and measure the sample algorithms using line of code, McCabe and Halstead metrics. The findings indicate that the program difficulty of Halstead metrics has minimal value for both linear and binary search when implemented in python. Analysis of Variance (ANOVA) was adopted to determine whether there is any statistically significant differences between the search algorithms when implemented in the three programming languages and it was revealed that the three (3) programming languages do not vary considerably for both linear and binary search techniques which implies that any of the (3) programming languages is suitable for coding linear and binary search algorithms.

2011 ◽  
Vol 8 (2) ◽  
pp. 625-629
Author(s):  
Baghdad Science Journal

There are many methods of searching large amount of data to find one particular piece of information. Such as find name of person in record of mobile. Certain methods of organizing data make the search process more efficient the objective of these methods is to find the element with least cost (least time). Binary search algorithm is faster than sequential and other commonly used search algorithms. This research develops binary search algorithm by using new structure called Triple, structure in this structure data are represented as triple. It consists of three locations (1-Top, 2-Left, and 3-Right) Binary search algorithm divide the search interval in half, this process makes the maximum number of comparisons (Average case complexity of Search) is O(log2 n) (pronounce this "big-Oh-n" or "the order of magnitude"), if we search in a list consists of (N) elements. In this research the number of comparison is reduced to triple by using Triple structure, this process makes the maximum number of comparisons is O(log2 (n)/3+1) if we search key in list consist of (N) elements.


2020 ◽  
Vol 16 (1) ◽  
pp. 1-8 ◽  
Author(s):  
Israa AL-Forati ◽  
Abdulmuttalib Rashid

This paper proposes a low-cost Light Emitting Diodes (LED) system with a novel arrangement that allows an indoor multi-robot localization. The proposed system uses only a matrix of low-cost LED installed uniformly on the ground of an environment and low-cost Light Dependent Resistor (LDR), each equipped on bottom of the robot for detection. The matrix of LEDs which are driven by a modified binary search algorithm are used as active beacons. The robot localizes itself based on the signals it receives from a group of neighbor LEDs. The minimum bounded circle algorithm is used to draw a virtual circle from the information collected from the neighbor LEDs and the center of this circle represents the robot’s location. The propose system is practically implemented on an environment with (16*16) matrix of LEDs. The experimental results show good performance in the localization process.


2020 ◽  
Author(s):  
Willian N. Oizumi ◽  
Alessandro F. Garcia

Design problems affect most software projects and make their maintenance expensive and impeditive. Thus, the identification of potential design problems in the source code – which is very often the only available and upto-date artifact in a project – becomes essential in long-living software systems. This identification task is challenging as the reification of design problems in the source code tend to be scattered through several code elements. However, stateof-the-art techniques do not provide enough information to effectively help developers in this task. In this work, we address this challenge by proposing a new technique to support developers in revealing design problems. This technique synthesizes information about potential design problems, which are materialized in the implementation under the form of syntactic and semantic anomaly agglomerations. Our evaluation shows that the proposed synthesis technique helps to reveal more than 1200 design problems across 7 industry-strength systems, with a median precision of 71% and a median recall of 78%. The relevance of our work has been widely recognized by the software engineering community through 2 awards and 7 publications in international and national venues.


Author(s):  
Hiba Al Sghaier

Software engineering is one of computer science branches, it comprises of building and developing software systems and applications. Software engineering is a discipline that has a constant growth in research in aim to identify new technologies and adopt it in different areas; there is a considerable investment on software engineering trends at the current time due to the availability of mobile technologies. With millions of billions of smart devices that are connected to the internet, all industries around the world are rapidly becoming a technology driven industries. Software engineers are aware of programming languages that are employed to develop software systems, by applying engineering principles to development process; they can design customized software systems for individual or organizational customers. The new trends in software engineering are numerous, Cloud Computing, machine learning, deep learning, big Data, mobile Computing. Nevertheless, there are many more other research trends in software engineering's field that have been intensively explored and implemented in many different industries. In this paper, authors try to summarize the most fields that are integrated with software engineering recently.


2014 ◽  
Vol 548-549 ◽  
pp. 1319-1325
Author(s):  
Bouchaib Falah ◽  
Sara El Alaoui ◽  
Hajar Abbadi

Nowadays, software is expected to have an extended lifespan, which makes the evaluation of its complexity at the early stages critical in upcoming maintenance. Indeed, complexity is proportional to the evolution of software. Software metrics were introduced as tools that allow us to obtain an objective measurement of the complexity of software. Hence, enabling software engineering to assess and manage software complexity. Reducing software costs is one of the major concerns of software engineering which creates an increasing need for new methodologies and techniques to control those costs. Software complexity metrics can help us to do so. In this paper, we would investigate how those metrics can be used to reduce software costs. We would first analyze the most popular complexity metrics and distinguish their properties. Then, we will show how each of those metrics fit within the software life cycle. Finally, we will provide a detailed approach to use the complexity metrics to reduce software costs.


2011 ◽  
Vol 181-182 ◽  
pp. 109-112
Author(s):  
Xian Min Wei

This paper describes several current routing lookup algorithms, to study and analysize the complexity and operating practical performance of these routing lookup algorithms. The results show that although the binary search algorithm is not greatly improved in the searching performance, but in IPv6 environment, because searching performance of multi-branch Trie tree will decrease greatly, thus the superiority of binary search algorithm will be reflected better.


Sign in / Sign up

Export Citation Format

Share Document