SlideShare a Scribd company logo
1 of 3
Download to read offline
Annie Ratna Priya, M. Mythily, / International Journal of Engineering Research and
                   Applications (IJERA) ISSN: 2248-9622 www.ijera.com
                        Vol. 3, Issue 2, March -April 2013, pp.608-610

    An Efficient Methodology for Improving Code Quality Using
                    Object oriented approach
                                Annie Ratna Priya, M. Mythily,
                               Department of Computer Science and Engineering,
                                    Karunya University, Coimbatore, India


Abstract—
         Most of the software development activities         implementation factors. For example, in case of
require formal specification which can be used as a          abstraction, a correct level of abstraction helps build a
functional support for finding and fixing the bugs in        flexible and scalable application. It is not an easy job to
deployed software. However such specifications are           reach the correct level of abstraction and the correct
hard to verify since it suffers from high false positive     relationship between classes. The possible defects
rates. In order to solve this problem a suite of metrics     concerning this should be detected as early as possible
is incorporated along with the specification mining          such as in the design phase so that all the further
system. The efficiency of the code measured using            processes can be corrected without bugs.
these metrics. This paper focuses on giving an
overview of metrics that are already used in                     In specification mining techniques, the formal
specification mining techniques and thereby stating          specifications have faced difficulty in both verification
the need for understanding the object oriented               and validation. Initially most of the automatic mining
approach and its functionality in molding formal             techniques automatically trace specifications from the
specifications which has been recently concentrated          program code.
during the maintenance of the system.
Index Terms—Metrics, Object,              Specification,
Temporal property
                                                                                     Login()
                   I. Introduction                                          1                           2
          Developing software and maintenance plays
central role in the delivery and application of the
                                                                           new_entry()
information technology field, and hence developers are
increasingly focusing on process improvement in the
                                                                                               Sign_in()
software development area. Throughout the software
development process, from requirement elicitation to                                      3
system update the metrics are needed to measure the
activities of the software with different environment at
each time. Metrics will give a better understanding of the             Figure 1. Specification Example
whole life cycle process for people concerned with the
different tasks in it [1]. When the input is given to the         These techniques takes program as input and
system, it will analyze the structural and logic             produce candidate specification as output in the form of
components so that it will be helpful for the metrics        finite state machine that will later describes the program
computation. A relevant study is helpful to investigate      correctness. But most of the techniques are imprecise in
on the different types of metrics. Most of the metrics are   practice. Initially the decision on choosing the correct
realized based on procedural and object oriented             behavior itself is inappropriate. A good code is actually a
software. The object-oriented (OO) approach to software      code that works and is free of bugs, and is readable and
development promises better management of system             maintainable [3]. Organizations usually have coding
complexity and a likely improvement in project               standards which all developers will follow, but every
outcomes such as quality and project cycle time.             programmer and software engineer has different ideas on
     Generally in object oriented software development       what suites best for the efficient functioning of the
process, the system is viewed as collection of objects.      system.
The entire working of the system is notified by the
relationship among these objects. Whenever, one object            The code can be formulated by imposing rules on
depends on another object to do certain functionality,       the working of the system. But it is needed to be kept in
there is a relationship between those two classes. In        mind that excessive use of rules can be a barrier for both
order to achieve perfect uniqueness of object, objects       productivity and creativity. Specifications describe how
should rely on the interfaces and support offered by         to manipulate important program resources [4]. They are
another object without relying on any underlying             represented as a finite state machine that encodes valid



                                                                                                   608 | P a g e
Annie Ratna Priya, M. Mythily, / International Journal of Engineering Research and Applications
                          (IJERA) ISSN: 2248-9622 www.ijera.com
                        Vol. 3, Issue 2, March -April 2013, pp.608-610
                                                                   Miner            Features               Remarks
sequence of events. A program execution adheres to a
                                                                   Used
given specification if and only if it terminates with the
corresponding state machine in an accepting state where
the machine starts in its start state at program                  Engler et       Use two state       High false positive
initialization. Otherwise, the program violates the                 al.        temporal properties.          rates
specification and contains an error.
                                                                 Whaley et      Produces Single       Human intervention
              II. Mining characteristics                           al.             multi state
         This section shows the underlying concepts of                           specification.
mining techniques and their limitations which encourage           Strauss      Mainly focused on         Use of single
the researchers to step into incorporating code quality                        machine learning to    specification is not
metrics.                                                                         learn a Single           sufficient
    Specification       mining     techniques      produces                    specification from
specifications but still they have high false positive rates.                         traces
The Comparison between most of these approaches is                  JIST       Refines Whaley et      Handles only simple
provided in the Table 1.                                                        al. technique to        subset of Java
                                                                                mainly disregard
     In WN miner [2] the specification mining was                               infeasible paths
motivated by the observations of run-time error handling
mistakes. In other approaches examining such mistakes,             WN               Selecting           Does not have
the code frequently violates simple API specifications in          miner       specifications from    profound results in
exceptional situations. Despite the proliferation of                            software artifacts       finding bugs
specification-mining research, there is not much report
on issues pertaining to the quality of specification               Claire      Use measurements          Does not give
miners. This technique is same as that of Engler et al. but       approach     of trustworthiness       adequate results
is based on assumptions about run time errors, chooses                          of source code to        over precision.
candidate event pairs differently, presents significantly                      mine specifications
fewer candidate specifications and ranks presented               SMArTC         Provides mining       Scalable metrics is
candidates differently. In a normal                                              architecture to         at least level
                 Table1. A Comparison study                                          improve
execution, events „a’ and „b’ may be separated by other                           performance
events and difficult to discern as a pair. After an error
has occurred, however, the cleanup code is usually much
less cluttered and contains only operations required for
correctness. The candidate specifications are filtered                    extracted to get a thorough impact over the
using varied criteria such as exceptional control flow,         quality of the code.
one error, data path etc.                                                After evaluating the relative importance of the
      This highlights the practical importance of the           quality metrics, the correlation between the metrics is
algorithmic assumptions, in particular the use of               calculated. These metrics implicitly take advantage of
exceptional control flow. It can serve as a requirement         previous testing and validation work which should be
for acceptance. It can even assist inspections by helping       done manually.
to target effort at parts of a program that may need
improvement. Though this miner select specifications
from software artifacts and finds per-program                              Including the necessary metrics
specifications for error detection, it does not have
profound results in bug finding.
     Strauss, ECC and WN technique were all good at
yielding specifications that found bugs. The WN                             Identifying the additional
technique found all bugs reported by other techniques on                parameters for the above metrics
these benchmarks and did so with the fewest false
positives.
                                                                           Evaluating the code by using the
III. Application of object oriented metrics in                                         metrics.
specification mining                                            Figure2. Flowchart diagram for metrics evaluation
        Incorporating the code quality metrics as a
model into the existing specification miner is shown as a            Object oriented metrics is based mainly on three
flow chart diagram in Fig 2. While finding the                  factors: inheritance, coupling and methods. This can be
measurements the additional parameters are also                 calculated by calculating the weighted methods per class,



                                                                                                          609 | P a g e
Annie Ratna Priya, M. Mythily, / International Journal of Engineering Research and Applications
                          (IJERA) ISSN: 2248-9622 www.ijera.com
                        Vol. 3, Issue 2, March -April 2013, pp.608-610

number of modules, and response for a class and so on.       follow object oriented methodology. The specifications
The quality metrics are the quantitative measures of the     that are generated can be used to check the proper
degree to which software possesses a given attribute that    functioning of the system to refer to its flow of
affects its quality.                                         execution.
     Code metrics like LOC and Cyclomatic Complexity
examines the internal complexity of a procedure whereas                          V. Conclusion
this structure metrics examines the relationship between         This paper clearly illustrates the overview of need for
a section of code and the rest of the system. Process        accuracy in specification mining techniques, the possible
oriented metrics are used through the different phases of    approaches of deriving specifications at different
the software life cycle. Measurement on quality should       domains which lists the effectiveness on this mapping to
concentrate on the early phases in the life cycle to         new scope in specifications. The goal of this survey is to
improve the quality of software and decrease of              support the study on the legacy of generating
development and maintenance costs.                           specifications to the new automatic techniques. It helps
                                                             to get an insight into this dynamic field of study in
          Defects must be tracked to the release origin      Specification Mining. Since the object orientation is
which is the portion of the code that contains the defects   emerging in all kinds of applications, it is also welcome
and at what release the portion was added, changed, or       in the specification mining process. It is mentioned to be
enhanced. When calculating the defect rate of the entire     dynamic, as these approaches are under development and
product, all defects are used; when calculating the defect   it steps higher everyday to achieve efficiency in
rate for the new and changed code, only defects of the       capturing specifications.
release origin of the new and changed code are included.
On the one hand, the process quality metrics simply          REFERENCES
means tracking defect arrival during formal machine             [1]   Claire Le Goues and Westley Weimer,
testing for some organizations. On the other hand, some               “Measuring Code Quality to Improve
software organizations with well-established software                 Specification Mining”, IEEE Transactions
metrics programs cover various parameters in each phase               on Software Engineering, Vol. 38, No 1
of the development cycle.                                             ,Jan/Feb 2012.
                                                                [2]   W. Weimer and G.C. Necula, “Mining
          The specification language formulation is done              Temporal       Specifications   for    Error
by deriving a set of rules which should be followed by                Detection,” Proc. Int‟l Conf. Tools and
the program code which is meant to be the specifications              Algorithms for the Construction and
of the particular program behavior. These rules describe              Analysis of Systems, pp. 461-476, 2005.
conditions that a program must satisfy for it to be             [3]   D. Engler, B. Chelf, A. Chou, and S. Hallem,
considered a valid code. A rule may be thought of as a                “Checking System Rules Using System-
condition that evaluates a portion of a program to a truth            Specific, Programmer-Written Compiler
value. These rules are certainly affected by changes to               Extensions,” Proc. Conf. Symp. Operating
their context elements. However, it is important to                   System Design and Implementation, 2000.
understand that rules are also affected by many other           [4]   D.R. Engler, D.Y. Chen, and A. Chou, “Bugs
model elements not explicitly identified. Since these                 as Inconsistent Behavior: A General
rules are conditions on a program code, their truth values            Approach to Inferring Errors in Systems
change only if the application changes or if the condition            Code,” Proc. Symp. Operating System
changes, but this is explored elsewhere.                              Principles, pp. 57-72, 2001.
                                                                [5]   G. Ammons, R. Bodik, and J.R. Larus,
                IV. Trending Metrics                                  “Mining Specifications,” Proc. ACM
      The development of a large software system is a                 SIGPLAN-SIGACT Symp. Principles of
time and resource consuming activity. Even with the                   Programming Languages, pp. 4-16, 2002.
increasing automation of software development
activities, resources are still scarce. Therefore, it is
necessary to be able to provide accurate information and
guidelines to managers to help them make decisions,
plan and schedule activities, and allocate resources for
the different software activities that take place during
software development. Software metrics are thereby
necessary to identify where the resources are needed.
They are a crucial source of information mostly for
decision making.
     In view of the above approaches a new mechanism
can be derived to generate specifications with object
oriented metrics since most of the languages generally


                                                                                                        610 | P a g e

More Related Content

What's hot

SECTZG629T_FR_2012HZ78512
SECTZG629T_FR_2012HZ78512SECTZG629T_FR_2012HZ78512
SECTZG629T_FR_2012HZ78512Najeem M Illyas
 
Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...ijfcstjournal
 
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...IJNSA Journal
 
IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...
IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...
IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...IRJET Journal
 
Class quality evaluation using class quality
Class quality evaluation using class qualityClass quality evaluation using class quality
Class quality evaluation using class qualityIAEME Publication
 
IRJET- An Efficient Technique for Finding SQL Injection using Reverse Proxy S...
IRJET- An Efficient Technique for Finding SQL Injection using Reverse Proxy S...IRJET- An Efficient Technique for Finding SQL Injection using Reverse Proxy S...
IRJET- An Efficient Technique for Finding SQL Injection using Reverse Proxy S...IRJET Journal
 
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTS
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTSUSING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTS
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTSijseajournal
 
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...IOSR Journals
 
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodParameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodIRJET Journal
 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Editor IJARCET
 
LabVIEW - Teaching Aid for Process Control
LabVIEW - Teaching Aid for Process ControlLabVIEW - Teaching Aid for Process Control
LabVIEW - Teaching Aid for Process ControlIDES Editor
 
Successive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular ApproachSuccessive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular Approachajeetmnnit
 
Analysis of Software Complexity Measures for Regression Testing
Analysis of Software Complexity Measures for Regression TestingAnalysis of Software Complexity Measures for Regression Testing
Analysis of Software Complexity Measures for Regression TestingIDES Editor
 

What's hot (17)

IJET-V2I6P28
IJET-V2I6P28IJET-V2I6P28
IJET-V2I6P28
 
SECTZG629T_FR_2012HZ78512
SECTZG629T_FR_2012HZ78512SECTZG629T_FR_2012HZ78512
SECTZG629T_FR_2012HZ78512
 
Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...
 
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
 
O0181397100
O0181397100O0181397100
O0181397100
 
IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...
IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...
IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...
 
Class quality evaluation using class quality
Class quality evaluation using class qualityClass quality evaluation using class quality
Class quality evaluation using class quality
 
IRJET- An Efficient Technique for Finding SQL Injection using Reverse Proxy S...
IRJET- An Efficient Technique for Finding SQL Injection using Reverse Proxy S...IRJET- An Efficient Technique for Finding SQL Injection using Reverse Proxy S...
IRJET- An Efficient Technique for Finding SQL Injection using Reverse Proxy S...
 
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTS
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTSUSING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTS
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTS
 
1806 1810
1806 18101806 1810
1806 1810
 
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...
 
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodParameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986
 
LabVIEW - Teaching Aid for Process Control
LabVIEW - Teaching Aid for Process ControlLabVIEW - Teaching Aid for Process Control
LabVIEW - Teaching Aid for Process Control
 
Successive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular ApproachSuccessive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular Approach
 
Analysis of Software Complexity Measures for Regression Testing
Analysis of Software Complexity Measures for Regression TestingAnalysis of Software Complexity Measures for Regression Testing
Analysis of Software Complexity Measures for Regression Testing
 
Ijetcas14 468
Ijetcas14 468Ijetcas14 468
Ijetcas14 468
 

Viewers also liked (20)

Cl32543545
Cl32543545Cl32543545
Cl32543545
 
Ct32595603
Ct32595603Ct32595603
Ct32595603
 
Cr32585591
Cr32585591Cr32585591
Cr32585591
 
Cy32624628
Cy32624628Cy32624628
Cy32624628
 
Dd32653661
Dd32653661Dd32653661
Dd32653661
 
A350103
A350103A350103
A350103
 
Aq34255260
Aq34255260Aq34255260
Aq34255260
 
Cm34531538
Cm34531538Cm34531538
Cm34531538
 
Aa34163168
Aa34163168Aa34163168
Aa34163168
 
Co34543549
Co34543549Co34543549
Co34543549
 
W34137142
W34137142W34137142
W34137142
 
Bl34395398
Bl34395398Bl34395398
Bl34395398
 
Bi34381384
Bi34381384Bi34381384
Bi34381384
 
Bb34327332
Bb34327332Bb34327332
Bb34327332
 
F343236
F343236F343236
F343236
 
Cl34527530
Cl34527530Cl34527530
Cl34527530
 
Cc34479483
Cc34479483Cc34479483
Cc34479483
 
H344250
H344250H344250
H344250
 
Lar
LarLar
Lar
 
Salud ocupacional tema viii
Salud ocupacional tema viiiSalud ocupacional tema viii
Salud ocupacional tema viii
 

Similar to Cv32608610

The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)theijes
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
IRJET- A Detailed Analysis on Windows Event Log Viewer for Faster Root Ca...
IRJET-  	  A Detailed Analysis on Windows Event Log Viewer for Faster Root Ca...IRJET-  	  A Detailed Analysis on Windows Event Log Viewer for Faster Root Ca...
IRJET- A Detailed Analysis on Windows Event Log Viewer for Faster Root Ca...IRJET Journal
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET Journal
 
CRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECASTCRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECASTIRJET Journal
 
Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...eSAT Journals
 
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...ijseajournal
 
IRJET-A Review of Testing Technology in Web Application System
IRJET-A Review of Testing Technology in Web Application SystemIRJET-A Review of Testing Technology in Web Application System
IRJET-A Review of Testing Technology in Web Application SystemIRJET Journal
 
IRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking SystemIRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking SystemIRJET Journal
 
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...iosrjce
 
A metrics suite for variable categorizationt to support program invariants[
A metrics suite for variable categorizationt to support program invariants[A metrics suite for variable categorizationt to support program invariants[
A metrics suite for variable categorizationt to support program invariants[IJCSEA Journal
 
A Compound Metric for Identification of Fault Prone Modules
A Compound Metric for Identification of Fault Prone ModulesA Compound Metric for Identification of Fault Prone Modules
A Compound Metric for Identification of Fault Prone Modulesiosrjce
 
Unit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software EngineeringUnit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software Engineeringijtsrd
 
A Survey on Bug Tracking System for Effective Bug Clearance
A Survey on Bug Tracking System for Effective Bug ClearanceA Survey on Bug Tracking System for Effective Bug Clearance
A Survey on Bug Tracking System for Effective Bug ClearanceIRJET Journal
 
Multi step automated refactoring for code smell
Multi step automated refactoring for code smellMulti step automated refactoring for code smell
Multi step automated refactoring for code smelleSAT Publishing House
 
Multi step automated refactoring for code smell
Multi step automated refactoring for code smellMulti step automated refactoring for code smell
Multi step automated refactoring for code smelleSAT Journals
 

Similar to Cv32608610 (20)

The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
IRJET- A Detailed Analysis on Windows Event Log Viewer for Faster Root Ca...
IRJET-  	  A Detailed Analysis on Windows Event Log Viewer for Faster Root Ca...IRJET-  	  A Detailed Analysis on Windows Event Log Viewer for Faster Root Ca...
IRJET- A Detailed Analysis on Windows Event Log Viewer for Faster Root Ca...
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous Delivery
 
CRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECASTCRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECAST
 
Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...
 
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...
 
IRJET-A Review of Testing Technology in Web Application System
IRJET-A Review of Testing Technology in Web Application SystemIRJET-A Review of Testing Technology in Web Application System
IRJET-A Review of Testing Technology in Web Application System
 
IRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking SystemIRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking System
 
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
 
F017652530
F017652530F017652530
F017652530
 
A metrics suite for variable categorizationt to support program invariants[
A metrics suite for variable categorizationt to support program invariants[A metrics suite for variable categorizationt to support program invariants[
A metrics suite for variable categorizationt to support program invariants[
 
Iv2515741577
Iv2515741577Iv2515741577
Iv2515741577
 
Iv2515741577
Iv2515741577Iv2515741577
Iv2515741577
 
A Compound Metric for Identification of Fault Prone Modules
A Compound Metric for Identification of Fault Prone ModulesA Compound Metric for Identification of Fault Prone Modules
A Compound Metric for Identification of Fault Prone Modules
 
G017653135
G017653135G017653135
G017653135
 
Unit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software EngineeringUnit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software Engineering
 
A Survey on Bug Tracking System for Effective Bug Clearance
A Survey on Bug Tracking System for Effective Bug ClearanceA Survey on Bug Tracking System for Effective Bug Clearance
A Survey on Bug Tracking System for Effective Bug Clearance
 
Multi step automated refactoring for code smell
Multi step automated refactoring for code smellMulti step automated refactoring for code smell
Multi step automated refactoring for code smell
 
Multi step automated refactoring for code smell
Multi step automated refactoring for code smellMulti step automated refactoring for code smell
Multi step automated refactoring for code smell
 

Recently uploaded

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

Cv32608610

  • 1. Annie Ratna Priya, M. Mythily, / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 2, March -April 2013, pp.608-610 An Efficient Methodology for Improving Code Quality Using Object oriented approach Annie Ratna Priya, M. Mythily, Department of Computer Science and Engineering, Karunya University, Coimbatore, India Abstract— Most of the software development activities implementation factors. For example, in case of require formal specification which can be used as a abstraction, a correct level of abstraction helps build a functional support for finding and fixing the bugs in flexible and scalable application. It is not an easy job to deployed software. However such specifications are reach the correct level of abstraction and the correct hard to verify since it suffers from high false positive relationship between classes. The possible defects rates. In order to solve this problem a suite of metrics concerning this should be detected as early as possible is incorporated along with the specification mining such as in the design phase so that all the further system. The efficiency of the code measured using processes can be corrected without bugs. these metrics. This paper focuses on giving an overview of metrics that are already used in In specification mining techniques, the formal specification mining techniques and thereby stating specifications have faced difficulty in both verification the need for understanding the object oriented and validation. Initially most of the automatic mining approach and its functionality in molding formal techniques automatically trace specifications from the specifications which has been recently concentrated program code. during the maintenance of the system. Index Terms—Metrics, Object, Specification, Temporal property Login() I. Introduction 1 2 Developing software and maintenance plays central role in the delivery and application of the new_entry() information technology field, and hence developers are increasingly focusing on process improvement in the Sign_in() software development area. Throughout the software development process, from requirement elicitation to 3 system update the metrics are needed to measure the activities of the software with different environment at each time. Metrics will give a better understanding of the Figure 1. Specification Example whole life cycle process for people concerned with the different tasks in it [1]. When the input is given to the These techniques takes program as input and system, it will analyze the structural and logic produce candidate specification as output in the form of components so that it will be helpful for the metrics finite state machine that will later describes the program computation. A relevant study is helpful to investigate correctness. But most of the techniques are imprecise in on the different types of metrics. Most of the metrics are practice. Initially the decision on choosing the correct realized based on procedural and object oriented behavior itself is inappropriate. A good code is actually a software. The object-oriented (OO) approach to software code that works and is free of bugs, and is readable and development promises better management of system maintainable [3]. Organizations usually have coding complexity and a likely improvement in project standards which all developers will follow, but every outcomes such as quality and project cycle time. programmer and software engineer has different ideas on Generally in object oriented software development what suites best for the efficient functioning of the process, the system is viewed as collection of objects. system. The entire working of the system is notified by the relationship among these objects. Whenever, one object The code can be formulated by imposing rules on depends on another object to do certain functionality, the working of the system. But it is needed to be kept in there is a relationship between those two classes. In mind that excessive use of rules can be a barrier for both order to achieve perfect uniqueness of object, objects productivity and creativity. Specifications describe how should rely on the interfaces and support offered by to manipulate important program resources [4]. They are another object without relying on any underlying represented as a finite state machine that encodes valid 608 | P a g e
  • 2. Annie Ratna Priya, M. Mythily, / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 2, March -April 2013, pp.608-610 Miner Features Remarks sequence of events. A program execution adheres to a Used given specification if and only if it terminates with the corresponding state machine in an accepting state where the machine starts in its start state at program Engler et Use two state High false positive initialization. Otherwise, the program violates the al. temporal properties. rates specification and contains an error. Whaley et Produces Single Human intervention II. Mining characteristics al. multi state This section shows the underlying concepts of specification. mining techniques and their limitations which encourage Strauss Mainly focused on Use of single the researchers to step into incorporating code quality machine learning to specification is not metrics. learn a Single sufficient Specification mining techniques produces specification from specifications but still they have high false positive rates. traces The Comparison between most of these approaches is JIST Refines Whaley et Handles only simple provided in the Table 1. al. technique to subset of Java mainly disregard In WN miner [2] the specification mining was infeasible paths motivated by the observations of run-time error handling mistakes. In other approaches examining such mistakes, WN Selecting Does not have the code frequently violates simple API specifications in miner specifications from profound results in exceptional situations. Despite the proliferation of software artifacts finding bugs specification-mining research, there is not much report on issues pertaining to the quality of specification Claire Use measurements Does not give miners. This technique is same as that of Engler et al. but approach of trustworthiness adequate results is based on assumptions about run time errors, chooses of source code to over precision. candidate event pairs differently, presents significantly mine specifications fewer candidate specifications and ranks presented SMArTC Provides mining Scalable metrics is candidates differently. In a normal architecture to at least level Table1. A Comparison study improve execution, events „a’ and „b’ may be separated by other performance events and difficult to discern as a pair. After an error has occurred, however, the cleanup code is usually much less cluttered and contains only operations required for correctness. The candidate specifications are filtered extracted to get a thorough impact over the using varied criteria such as exceptional control flow, quality of the code. one error, data path etc. After evaluating the relative importance of the This highlights the practical importance of the quality metrics, the correlation between the metrics is algorithmic assumptions, in particular the use of calculated. These metrics implicitly take advantage of exceptional control flow. It can serve as a requirement previous testing and validation work which should be for acceptance. It can even assist inspections by helping done manually. to target effort at parts of a program that may need improvement. Though this miner select specifications from software artifacts and finds per-program Including the necessary metrics specifications for error detection, it does not have profound results in bug finding. Strauss, ECC and WN technique were all good at yielding specifications that found bugs. The WN Identifying the additional technique found all bugs reported by other techniques on parameters for the above metrics these benchmarks and did so with the fewest false positives. Evaluating the code by using the III. Application of object oriented metrics in metrics. specification mining Figure2. Flowchart diagram for metrics evaluation Incorporating the code quality metrics as a model into the existing specification miner is shown as a Object oriented metrics is based mainly on three flow chart diagram in Fig 2. While finding the factors: inheritance, coupling and methods. This can be measurements the additional parameters are also calculated by calculating the weighted methods per class, 609 | P a g e
  • 3. Annie Ratna Priya, M. Mythily, / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 2, March -April 2013, pp.608-610 number of modules, and response for a class and so on. follow object oriented methodology. The specifications The quality metrics are the quantitative measures of the that are generated can be used to check the proper degree to which software possesses a given attribute that functioning of the system to refer to its flow of affects its quality. execution. Code metrics like LOC and Cyclomatic Complexity examines the internal complexity of a procedure whereas V. Conclusion this structure metrics examines the relationship between This paper clearly illustrates the overview of need for a section of code and the rest of the system. Process accuracy in specification mining techniques, the possible oriented metrics are used through the different phases of approaches of deriving specifications at different the software life cycle. Measurement on quality should domains which lists the effectiveness on this mapping to concentrate on the early phases in the life cycle to new scope in specifications. The goal of this survey is to improve the quality of software and decrease of support the study on the legacy of generating development and maintenance costs. specifications to the new automatic techniques. It helps to get an insight into this dynamic field of study in Defects must be tracked to the release origin Specification Mining. Since the object orientation is which is the portion of the code that contains the defects emerging in all kinds of applications, it is also welcome and at what release the portion was added, changed, or in the specification mining process. It is mentioned to be enhanced. When calculating the defect rate of the entire dynamic, as these approaches are under development and product, all defects are used; when calculating the defect it steps higher everyday to achieve efficiency in rate for the new and changed code, only defects of the capturing specifications. release origin of the new and changed code are included. On the one hand, the process quality metrics simply REFERENCES means tracking defect arrival during formal machine [1] Claire Le Goues and Westley Weimer, testing for some organizations. On the other hand, some “Measuring Code Quality to Improve software organizations with well-established software Specification Mining”, IEEE Transactions metrics programs cover various parameters in each phase on Software Engineering, Vol. 38, No 1 of the development cycle. ,Jan/Feb 2012. [2] W. Weimer and G.C. Necula, “Mining The specification language formulation is done Temporal Specifications for Error by deriving a set of rules which should be followed by Detection,” Proc. Int‟l Conf. Tools and the program code which is meant to be the specifications Algorithms for the Construction and of the particular program behavior. These rules describe Analysis of Systems, pp. 461-476, 2005. conditions that a program must satisfy for it to be [3] D. Engler, B. Chelf, A. Chou, and S. Hallem, considered a valid code. A rule may be thought of as a “Checking System Rules Using System- condition that evaluates a portion of a program to a truth Specific, Programmer-Written Compiler value. These rules are certainly affected by changes to Extensions,” Proc. Conf. Symp. Operating their context elements. However, it is important to System Design and Implementation, 2000. understand that rules are also affected by many other [4] D.R. Engler, D.Y. Chen, and A. Chou, “Bugs model elements not explicitly identified. Since these as Inconsistent Behavior: A General rules are conditions on a program code, their truth values Approach to Inferring Errors in Systems change only if the application changes or if the condition Code,” Proc. Symp. Operating System changes, but this is explored elsewhere. Principles, pp. 57-72, 2001. [5] G. Ammons, R. Bodik, and J.R. Larus, IV. Trending Metrics “Mining Specifications,” Proc. ACM The development of a large software system is a SIGPLAN-SIGACT Symp. Principles of time and resource consuming activity. Even with the Programming Languages, pp. 4-16, 2002. increasing automation of software development activities, resources are still scarce. Therefore, it is necessary to be able to provide accurate information and guidelines to managers to help them make decisions, plan and schedule activities, and allocate resources for the different software activities that take place during software development. Software metrics are thereby necessary to identify where the resources are needed. They are a crucial source of information mostly for decision making. In view of the above approaches a new mechanism can be derived to generate specifications with object oriented metrics since most of the languages generally 610 | P a g e