Intelligent Logical Error Detection and Mitigation Model for Python

Shahzaib Abbas Qumber

Shahzaib Abbas Qumber

Alipur Chatha, Punjab

0 0
  • 0 Collaborators

The majority of IDEs fail to detect logical errors which result not only in debugging cost but also delayed milestones. . This will facilitate developers to detect logical errors at an earlier stage, consequently resulting in minimum development time and on-schedule milestone delivery. ...learn more

Project status: Concept

Artificial Intelligence

Code Samples [1]

Overview / Usage

** Table 4.3 Logical Error Detection Comparison**

** IDEs Names**

No. Logical Errors Pycharm Spyder LiClipse Thonny ILEDMMP

1 Unused Variable Detection No No No No Yes

2 Removing Unused Variable Detection No No No No Yes

3 Duplication Detection No No No No Yes

4 Removing Duplication Detection No No No No Yes

5 Average Missing Parentheses No No No No Yes

6 Array Index Scope Detecting No No No No Yes

7 Variable Value Reassigning without Operation Detection No No No No Yes

8 While Loop Termination with results Detection No No No No Yes

9 Logical While Loop infinity Detection No No No No Yes

10 Live Logical Error Development (Instant Output) No No No No Yes

In the above Table 4.3, all results are verifying the tool accuracy and instant information of logical error detection. It is a concrete tool to implement in all IDEs or must be embedded in the IDEs.

However, Top rating four IDEs are Pycharm, Spyder, Thonny and LiClipse.but related in research no IDE is matching to counter a logical error detection and they depend on SDK. All errors are only displayed or occurred on run time, and some IDE provides IntelliSense or Code enhancing pre-define function.

They help developers to only code productivity enhancement, and ILEDMMP gives an idea of enhancing Logical error detection and give an idea to design more filters of SQA, SPI, SRE, SS, SI, and more.

In the Research, Spyder IDE, which generally comes with Anaconda Python Distribution is near to the only show some information as tool works. That was on the run time, not during development time. Pycharm is at number one, but in research Pycham, LiClipse and Thonny score the same.

Pycharm and LiClipse are great for working relaxation because of the environment, and Thonny remains best in a lightweight and in faster execution time.

Final Words, All Experimental IDEs are ineffective in the research of ILEDMMP because of Computer Scientists who believe that logical error detection is the responsibility of the developer and no primary work focus on LE.

Methodology / Approach

The research moves step by step as shown in Figure 3.1. From collecting data to final outcomes that all are planned and explained. Each step is connected with other steps. All steps help to provide information for the development of Intelligent Logical Error Detection and Mitigation Model for Python.

The research contains five major phases. Each phase different activities will perform. In the first phase, finding the material for logical errors. Finding the sources of problem sharing and discussing. Creating a list of resources and problems. Also, see the experts suggestion and their solution to the relevance problem.

The second phase duration consists of the searching world’s most used integrated development environments (IDEs). The list of IDEs will create after collecting the data about them. The rating of the developer about IDEs will preferable. However, the features of IDEs related to the detection of a problem will impact more of them in the list rating.

In the third phase, listed logical errors will test on the listed IDEs. To analyze the IDEs working techniques and studying the results of their outcomes related to the tested logical error. Only top rating IDEs and unsolved logical will select further for the research. The results and |IDEs result will help to develop the tool’s features.

The fourth phase will the creation of the logical error detection tool. The tool will be created in small units. All units will be tested for their respective logical error and integrate into a system. After, completing the tool again system testing will perform.

The final phase will compare the results of the tools with the selected IDEs. Studying case studies and doing more experiments to enhance the functionalities of the tool. Determining the final scope of the tool. The setting scope of the tool will challenge. However, Software development is very challenging and required experts skills.

Figure 3.1: Steps of Research

Step-1: Study the features of most commonly used IDEs for python.

In the first step as shown in figure 3.1, the main features have been studies of most commonly used IDEs, which are designed to support the development of Python application. For the main purpose, we explore sites where programmers discuss logical errors along with their code examples and their setup configuration. In details, we extract logical error, code, and setup configuration.

In the first stage, the main focus is on setup configuration information and collecting IDE names and their special designed pattern features to support software development. They are getting details about their mechanism to cope with errors and how much they are capable of covering logical errors — finding flaws that are failing to provide a recovery solution.

For example, a one IDE is very friendly but not smart to monitor human programming errors (PE), and another IDE is enhanced to detect errors but not very user-friendly.

Step-2: Enlist IDEs which provide logical error detection support.

In the 2nd phase, a list of IDEs is created after doing research. Analyze them to know how much they can track error and solve them. Determine the scope of logical error and its effect on the solution.

When they are selected for research will move to the next phase where each IDE be will be testified and experimented on running various logical error codes which are collected on the first stage — marking results level on performance of IDE on each logical error. Provide a base for the next stage of research and also help in defining parameters for logical errors to recover principals.

Step-3: Study the main shortcomings of IDEs related to logical errors identified in step-2.

In step, the third part of the research will count the success rate of IDEs, which help out developers in the programming errors. They will be shortlisted on behave of error detection, warning on errors, error recovery solution, and proving suggestion against the problem. Mature, logical error handler IDE or IDEs will be ideal for extending research. That IDE or IDEs are working with logical error more helpful watch out to create new intelligent, logical error recovery unit. Collected data from the phase of research will make a necessary element of the recovery model.

Step-4: development of most intelligent error recovery model

4th stage of research will be experimental where intelligent Unit will start development of logical error model. The model design will adjust its elements and its determining parameters.

It is defining theory and way of working. Its complete workflow and integration of its components. Testing and validation of its subunit, units, and the whole system.

After completing all procedure of its development. Logical error recovery Model will be launched for the Beta testing and spread to the developer to get its feedbacks.

Step-5: Experimentations, results, and analysis using a case study.

Completing the tool of logical error model. Each aspect of the process making model’s information will be a log. Its outcomes will be very useful for analysis and improvement in detecting, resolving, and suggesting a solution for logical errors.

Comparing the results of research with other same case studies. Matching marks will ensure the importance and evaluation of the intelligent, logical error recovery unit. The intelligent, logical error unit will include in all IDEs with respected their development programming language.

Technologies Used

Python 3.7 on Intel Core i7 3rd Gen

Repository

https://github.com/ShahzaibAbbas/Intelligent-Logical-Error-Detection-and-Mitigation-Model-for-Python

Comments (0)