MASP – An Enhanced Model of Fault Type Identification in Object-Oriented Software Engineering

Author(s):  
Atchara Mahaweerawat ◽  
◽  
Peraphon Sophatsathit ◽  
Chidchanok Lursinsap ◽  
Petr Musilek ◽  
...  

To remain competitive in the dynamic world of software development, organizations must optimize the use of their limited resources to deliver quality products on time and within budget. This requires prevention of fault introduction and quick discovery and repair of residual faults. In this paper, a new model for predicting and identifying of faults in object-oriented software systems is introduced. In particular, faults due to the use of inheritance and polymorphism are considered as they account for significant portion of faults in object-oriented systems. The proposed MASP model acts as a fault metric selector that gathers relevant filtering metrics suitable for specific fault types employing coarse-grained and fine-grained metric selection algorithms. A fault predictor is subsequently established to identify the fault type of individual fault classification. It is concluded that the proposed model yields high discrimination accuracy between faulty and fault-free classes.

2019 ◽  
Vol 19 (3) ◽  
pp. 57-73
Author(s):  
Thamer Al-Rousan ◽  
Hasan Abualese

Abstract Simplification of execution traces is peculiarly important in the case of software comprehension. The objective is to make execution traces in ways that are more tractable and less difficult. However, the simplification process is a difficult task, particularly, in object-oriented contexts. Due to coupling, execution traces of object-oriented systems involve the Spaghetti Architectures phenomenon, which is a very complicated structure of dependencies. Therefore, the simplification process needs a well-established approach to be helpful for software comprehension. Otherwise, the simplified execution traces will be informative as their structures will involve several gaps that lead to a misunderstanding process. This research uses decoupling to guide the simplification of object-oriented execution traces. Specifically, decoupling truthfully can decrease the complexity of execution traces without eliminating the trace components and making numerous gaps in the trace structure. Then, decoupling can solve the problem of the Spaghetti Architectures phenomenon. A controlled experiment was conducted to empirically validate the usefulness and effectivity of the suggested work. There was a significant statistical added value demonstrated in the time required and the accurate solutions of the tasks being solved. More precisely, 25% less time required with a 62% more correct solutions were achieved solving the experiment’s comprehension tasks.


Author(s):  
Yuslena Sari ◽  
Irfan Prasetia

This paper presents concept of a database system on a computer software systems. Requirements in analysis and design are a serious problem in developing a manual system into a computer software system that is fully automated. To link the two systems (manual and automatic), a modeling language Unified Modeling Language (UML) is now accepted as the de facto standard for the design and specification of object-oriented systems. In this study, ULM modeling language used to design a management information system (MIS) of Toilet Maintenance on the Faculty of Engineering, Lambung Mangkurat University using Access 2013. From this system, dean as admin of the system, can immediately know the damage or the need of maintenance in real time every day. Such information would greatly assist the management on making decision related to monitoring, maintenance and repair of toilet in the Faculty of Engineering, Lambung Mangkurat University. The final results is to keep the cleanliness and reliability of toilet in the Faculty of Engineering, Lambung Mangkurat University.


Symmetry ◽  
2021 ◽  
Vol 13 (3) ◽  
pp. 447
Author(s):  
Aditi Gupta ◽  
Rinkaj Goyal

Software clones are code fragments with similar or nearly similar functionality or structures. These clones are introduced in a project either accidentally or deliberately during software development or maintenance process. The presence of clones poses a significant threat to the maintenance of software systems and is on the top of the list of code smell types. Clones can be simple (fine-grained) or high-level (coarse-grained), depending on the chosen granularity of code for the clone detection. Simple clones are generally viewed at the lines/statements level, whereas high-level clones have granularity as a block, method, class, or file. High-level clones are said to be composed of multiple simple clones. This study aims to detect high-level conceptual code clones (having granularity as java methods) in java-based projects, which is extendable to the projects developed in other languages as well. Conceptual code clones are the ones implementing a similar higher-level abstraction such as an Abstract Data Type (ADT) list. Based on the assumption that “similar documentation implies similar methods”, the proposed mechanism uses “documentation” associated with methods to identify method-level concept clones. As complete documentation does not contribute to the method’s semantics, we extracted only the description part of the method’s documentation, which led to two benefits: increased efficiency and reduced text corpus size. Further, we used Latent Semantic Indexing (LSI) with different combinations of weight and similarity measures to identify similar descriptions in the text corpus. To show the efficacy of the proposed approach, we validated it using three java open source systems of sufficient length. The findings suggest that the proposed mechanism can detect methods implementing similar high-level concepts with improved recall values.


2020 ◽  
Vol 8 (6) ◽  
pp. 2144-2152

Due to fast advancement in software industry, there was a demand to cut down time and efforts during process of software development. While designing product and services it is very essential to assure quality of product in order to strengthen market value of the product. To accomplish both quality as well as productivity objectives, it is suggested to go for software reuse. Reusability is an essential measure that can be used to improve overall software quality with lesser cost and efforts. This paper gives insights into various literature studies related to software reusability of Object-oriented software using data mining techniques. In this paper even comparative analysis of various techniques related to prediction and enhancement of reusability of Object-Oriented software systems has been done. This would help to get better understanding of need of reusability enhancement of Object-Oriented systems using data mining techniques


Author(s):  
Bharti Bisht, Dr Parul Gandhi

In order to meet the fast software evolution, there is a call for the work on software development based process by reducing time as well as efforts. The aim of the development process should not only be developing software products and services but also focus on improving the quality of the particular software. Software Reusability can be considered as one of the solutions to achieve both objectives i.e. productivity as well as quality. There has been an evolution of various methods and techniques related to construction of reusable components over many years. Object-oriented approach also assures increased software reusability. It is easier to reuse object-oriented software rather than conventional software. The notion of reusability related to Object-oriented software can be achieved through inheritance which in turn contributes to development of reusable components. In this paper different metrics related to software reusability of Object-oriented software systems has been summarized and evaluated using Python. Three python-based programs are considered as datasets for this study-the first dataset depicts single-level inheritance, the second dataset depicts hierarchical inheritance whereas the third dataset depicts multilevel inheritance. This study shows more impact of multilevel inheritance on the reusability of Object-oriented software systems and also helped to understand the important role of metrics in evaluation of object-oriented systems.


Author(s):  
ZHENCHANG XING ◽  
ELENI STROULIA

As software systems evolve over a long time, non-trivial and often unintended relationships among system classes arise, which cannot be easily perceived through source-code reading. As a result, the developers' understanding of continuously evolving, large, long-lived systems deteriorates steadily. A most interesting relationship is class co-evolution: because of implicit design dependencies clusters of classes change in "parallel" ways and recognizing such co-evolution is crucial in effectively extending and maintaining the system. In this paper, we propose a data-mining method for recovering "hidden" co-evolutions of system classes. This method relies on our UML-aware structural differencing algorithm, UMLDiff, which, given a sequence of UML class models of an object-oriented software system, produces a sequence of "change records" that describe the design-level changes over its life span. The change records are analyzed from the perspective of each individual system class to extract "class change profiles". Each phase of a class change profile is then discretized and classified into one of two general change types: function extension or refactoring. Finally, the Apriori association-rule mining algorithm is applied to the database of categorical class change profiles, to elicit co-evolution patterns among two or more classes, which may be as yet undocumented and unknown. The recovered knowledge facilitates the overall understanding of system evolution and the planning of future maintenance activities. We report on one real world case study evaluating our approach.


Author(s):  
Terrence P. Fries

The need for reengineering of software systems has dramatically increased as legacy systems are migrated to new platforms and rewritten in modern object-oriented languages. Although the de facto standard for describing object-oriented systems is the Unified Modeling Language (UML), many legacy systems have been documented using non-object-oriented structured analysis and design methods. Problems arise in the migration because non-object-oriented documentation is inherently not conducive to the development of object-oriented systems. This chapter presents a set of rules to automate the conversion of systems which were originally modeled using structured techniques to UML. The newly created UML documentation can then be used in developing an object-oriented equivalent system. The UML model may also be used by computer aided software engineering tools to implement a new system. The reengineering rules are tested on an example structured system to demonstrate their viability.


Author(s):  
Terrence P. Fries

The need for reengineering of software systems has dramatically increased as legacy systems are migrated to new platforms and rewritten in modern object-oriented languages. Although the de facto standard for describing object-oriented systems is the Unified Modeling Language (UML), many legacy systems have been documented using non-object-oriented structured analysis and design methods. Problems arise in the migration because non-object-oriented documentation is inherently not conducive to the development of object-oriented systems. This chapter presents a set of rules to automate the conversion of systems which were originally modeled using structured techniques to UML. The newly created UML documentation can then be used in developing an object-oriented equivalent system. The UML model may also be used by computer aided software engineering tools to implement a new system. The reengineering rules are tested on an example structured system to demonstrate their viability.


Author(s):  
Wang Zheng-fang ◽  
Z.F. Wang

The main purpose of this study highlights on the evaluation of chloride SCC resistance of the material,duplex stainless steel,OOCr18Ni5Mo3Si2 (18-5Mo) and its welded coarse grained zone(CGZ).18-5Mo is a dual phases (A+F) stainless steel with yield strength:512N/mm2 .The proportion of secondary Phase(A phase) accounts for 30-35% of the total with fine grained and homogeneously distributed A and F phases(Fig.1).After being welded by a specific welding thermal cycle to the material,i.e. Tmax=1350°C and t8/5=20s,microstructure may change from fine grained morphology to coarse grained morphology and from homogeneously distributed of A phase to a concentration of A phase(Fig.2).Meanwhile,the proportion of A phase reduced from 35% to 5-10°o.For this reason it is known as welded coarse grained zone(CGZ).In association with difference of microstructure between base metal and welded CGZ,so chloride SCC resistance also differ from each other.Test procedures:Constant load tensile test(CLTT) were performed for recording Esce-t curve by which corrosion cracking growth can be described, tf,fractured time,can also be recorded by the test which is taken as a electrochemical behavior and mechanical property for SCC resistance evaluation. Test environment:143°C boiling 42%MgCl2 solution is used.Besides, micro analysis were conducted with light microscopy(LM),SEM,TEM,and Auger energy spectrum(AES) so as to reveal the correlation between the data generated by the CLTT results and micro analysis.


Sign in / Sign up

Export Citation Format

Share Document