Traceability mining between unit test and source code based on textual analysis applied to software systems

Author(s):  
Amir Hossein Arshia ◽  
Amir Hossein Rasekh ◽  
Mohammad Reza Moosavi ◽  
Seyed Mostafa Fakhrahmad ◽  
Mohammad Hadi Sadreddini

Abstract Correctness of the designed system is one of the most important issues in the software development process. Therefore, various tests have been defined and designed to help software teams develop software with little or no problem. Finding a proper link between test class and the class under the test is an important but difficult task. Finding this relation helps the developers to conduct regression tests more efficiently. In this paper, we seek to propose a model for recovering traceable links between test classes and the classes under the test. The proposed method encompasses three parts: (1) method for extracting keywords and the measure of similarity of a specific part of code, (2) backward chain method based on a rule-based system, (3) using hybrid model to find traceable links between test classes and the code under test. This study uses three open-source and one industrial source projects to conduct experiments. The results are satisfactory compared to previous studies.

Author(s):  
Fouad Abdulameer Salman ◽  
Aziz Bin Deraman ◽  
Masita Binti Abdul Jalil

As consumer demand for user friendly software increases, usability evaluation is crucial to develop software systems which are easy to learn and use. However, implementation of usability evaluation is challenging for small and medium-sized enterprises (SMEs) due to factors such as lack of technical expertise, knowledge and experience of methods and standards. This results in neglect, or poorly executed evaluations of projects, resulting in software that disappoints and frustrates clients. To overcome this loss of competitiveness, we propose here a visual incorporation tool derived from ISO standards that would assist software development teams in SMEs in understanding and implementing usability evaluations. It shows fundamental Usability Engineering (UE) and Software Engineering (SE) activities and artifacts relevant to the usability evaluation and software development process, with potential incorporation points being highlighted. Dependencies and relationships are shown by links between activities and artifacts. Additionally, convergent artifacts of both disciplines were identified and shown. Evaluation of the proposed tool was based on the questionnaire results of software development practitioners from SMEs.


2014 ◽  
Vol 17 (3) ◽  
Author(s):  
Emiliano Reynares ◽  
María Laura Caliusco ◽  
Maria Rosa Galli

The wide applicability of mapping business rules expressions to ontology statements have been recently recognized. Some of the most important applications are: (1) using of on- tology reasoners to prove the consistency of business domain information, (2) generation of an ontology intended to be used in the analysis stage of a software development process, and (3) the possibility of encapsulate the declarative specification of business knowledge into information software systems by means of an implemented ontology. The Semantics of Business Vocabulary and Business Rules (SBVR) supports that approach by provid- ing business people with a linguistic way to semantically describe business concepts and specify business rules in an independent way of any information system design. Although previous work have presented some proposals, an exhaustive and automatable approach for them is still lacking. This work presents a broad and detailed set of transformations that allows the automatable generation of an ontology implemented in OWL 2 from the SBVR specifications of a business domain. Such transformations are rooted on the struc- tural specification of both standards and are depicted through a case study. A real case validation example was performed, approaching the feasibility of the mappings by the quality assessment of the developed ontology.


2019 ◽  
Vol 14 (12) ◽  
pp. 66
Author(s):  
Trần Anh Thi ◽  
Vũ Thanh Nguyên

Producing source code that implements the GUI takes a great deal of effort in software development, especially for interactive software systems. This work load, generally considered tedious and burdensome, is inadequately automated given the richness of conceptual design and behavior models generated in earlier stages of the development process. A few frameworks have been proposed for generating GUI code based on formal specification or code annotation, requiring extra work to be done in addition to conceptually designing the software system in question. We propose a mechanism that generates GUI code from UML class diagrams expressed in XMI. Our approach takes into account the associations between design concepts and their composition hierarchy that is explicitly expressed in the UML language.  


In many software systems logging has been implemented inaccurately, their effectiveness during the maintenance period to identify the failures and address them quickly is very less. This in turn increases the software maintenance cost and reduces reliability of the system as many errors are unreported. This paper aims at proposing and studying a rule based approach to make the logs more effective. The source code of the target systems gets reverse engineered and acts as the primary input for this approach to introduce the automated logs into the source code. This is instrumented by a logger code driven by a set of predefined rules which are woven around the life cycle of the system entities. The validity of the approach is verified by means of a preliminary fault injection experiment into a real world system.


Author(s):  
Anas AL-Badareen

    Abstract— Since the idea of software reuse appeared in 1968, software reuse has become a software engineering discipline. Software reuse is one of the main techniques used to enhance the productivity of software development, which it helps reducing the time, effort, and cost of developing software systems, and enhances the quality of software products. However, software reuse requires understanding, modifying, adapting and testing processes in order to be performed correctly and efficiently. This study aims to analyze and discuss the process of software reuse, identify its elements, sources and usages. The alternatives of acquiring and using software assets either normal or reusable assets are discussed. As a result of this study, four main methods are proposed in order to use the concept of reuse in the software development process. These methods are proposed based on the source of software assets regardless the types of software assets and their usages.


Author(s):  
Francisco J. Duarte ◽  
João M. Fernandes ◽  
Ricardo J. Machado

Several organizations are nowadays not particularly comfortable with their internal structuring based on a hierarchical arrangement (sub-divided in departments), where collaborators with a limited view of the overall organization perform their activities. Those organizations recognize the need to move to a model where multi-skilled teams run horizontal business processes that cross the organization, and impact suppliers and clients. To develop software systems for any organization, the development process must always be appropriate and controlled. Additionally for organizations who want to migrate to a horizontal business processes view, it is required to model the organizational platform where the organizational processes will run. This necessity is also true when the organization under consideration is a software house. In this chapter, a proposal of a generic framework for process-oriented software houses is presented. The way of managing the process model and the instantiation of their processes with the Rational Unified Process (RUP) disciplines, whenever they are available, or with other kind of processes is recommended as a way to control and define the software development process. To illustrate the usefulness of the proposal, it is presented how the generic reference framework was executed in a real project called “Premium Wage” and shown, in some detail, the created artifacts (which include several UML models) during the development phases following the RUP disciplines, especially the artifacts produced for business modeling.


Author(s):  
Swathine.K , Et. al.

Software traceability is a crucial component of various exact software development process and it is needed for various component certification and approval process in security system. With the tremendous growth of system, traceability is considered as a recent research topic. The traceability is a software development process that is indefinable. Various manufacturers struggle in predicting the appropriate traceability degree for their needs and produce the appropriate set of traceability links. The effort, cost, and discipline have to be maintained with tracking links with the faster development of software systems that are extremely higher. Also, it produces various advantages in practical realization; as it can be either ad-hoc or not properly defined traceability process, produces poor training or lack of effectual tool support. Moreover, the traceability process has to be determined as it can diminish the development effort and to enhance the development process. Generally, traceability research is based on empirical investigations for exploring newer investigational queries or to compute newer tracing methods. Here, this work concentrates on traceability, functional requirements, link establishment. It shows a better trade-off among the prevailing approaches.


Author(s):  
Feniosky Peña-Mora ◽  
Sanjeev Vadhavkar

AbstractPresent-day software applications are increasingly required to be “reuse-conscious” in terms of the operating platforms, topology, and evolutionary requirements. Traditionally, there has been much difficulty in communicating specialized knowledge like design intents, design recommendations, and design justifications in the discipline of software engineering. This paper presents a methodology based on the combination of design rationale and design patterns to design reusable software systems. Design rationale is the representation of the reasoning behind the design of an artifact. Design patterns are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context. The paper details the use of an explicit software development process to capture and disseminate the specialized knowledge (i.e., intents, recommendations, and justifications) that augments the description of the cases in a library (i.e., design patterns) during the development of software applications by heterogeneous groups. The importance of preserving and using this specialized knowledge has become apparent with the growing trend of combining the software development process with the product (i.e., software code). The importance of codifying corporate memory in this regard is also important considering the changing nature of the workplace, where more people are on contract. The information on how and why a software code was developed becomes essential for efficient and smooth continuity of the present software project as well as for reusing the code in future projects. It has become essential to capture the design rationale to develop and design software systems efficiently and reliably. The software prototype developed using the combined methodology will be used as a part of an integrated design environment for reusable software design. This environment supports collaborative development of software applications by a group of software specialists from a library of building block cases represented by design patterns.


Sign in / Sign up

Export Citation Format

Share Document