Locating and Understanding Features of Complex Software Systems by Synchronizing Time-, Collaboration- and Code-Focused Views on Execution Traces

Author(s):  
Johannes Bohnet ◽  
Stefan Voigt ◽  
Juergen Dollner
Author(s):  
Manjula Peiris ◽  
James H. Hill

This chapter discusses how to adapt system execution traces to support analysis of software system performance properties, such as end-to-end response time, throughput, and service time. This is important because system execution traces contain complete snapshots of a systems execution—making them useful artifacts for analyzing software system performance properties. Unfortunately, if system execution traces do not contain the required properties, then analysis of performance properties is hard. In this chapter, the authors discuss: (1) what properties are required to analysis performance properties in a system execution trace; (2) different approaches for injecting the required properties into a system execution trace to support performance analysis; and (3) show, by example, the solution for one approach that does not require modifying the original source code of the system that produced the system execution.


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):  
KAMRAN SARTIPI ◽  
HOSSEIN SAFYALLAH

Software system analysis for identifying software functionality in source code remains a major problem in the reverse engineering literature. The early approaches for extracting software functionality mainly relied on static properties of software system. However, the static approaches by nature suffer from the lack of semantic and hence are not appropriate for this task. This paper presents a novel technique for dynamic analysis of software systems to identify the implementation of certain software functionality known as software features. In the proposed approach, a specific feature is shared by a number of task scenarios that are applied on the software system to generate execution traces. The application of a sequential pattern mining technique on the generated execution traces allows us to extract execution patterns that reveal the specific feature functionality. In a further step, the extracted execution patterns are distributed over a concept lattice to separate feature-specific group of functions from commonly used group of functions. The use of lattice also allows for identifying a family of closely related features in the source code. Moreover, in this work we provide a set of metrics for evaluating the structural merits of the software system such as component cohesion and functional scattering. We have implemented a prototype toolkit and experimented with two case studies Xfig drawing tool and Pine email client with very promising results.


2016 ◽  
pp. 141-149
Author(s):  
S.V. Yershov ◽  
◽  
R.М. Ponomarenko ◽  

Parallel tiered and dynamic models of the fuzzy inference in expert-diagnostic software systems are considered, which knowledge bases are based on fuzzy rules. Tiered parallel and dynamic fuzzy inference procedures are developed that allow speed up of computations in the software system for evaluating the quality of scientific papers. Evaluations of the effectiveness of parallel tiered and dynamic schemes of computations are constructed with complex dependency graph between blocks of fuzzy Takagi – Sugeno rules. Comparative characteristic of the efficacy of parallel-stacked and dynamic models is carried out.


Author(s):  
Feidu Akmel ◽  
Ermiyas Birihanu ◽  
Bahir Siraj

Software systems are any software product or applications that support business domains such as Manufacturing,Aviation, Health care, insurance and so on.Software quality is a means of measuring how software is designed and how well the software conforms to that design. Some of the variables that we are looking for software quality are Correctness, Product quality, Scalability, Completeness and Absence of bugs, However the quality standard that was used from one organization is different from other for this reason it is better to apply the software metrics to measure the quality of software. Attributes that we gathered from source code through software metrics can be an input for software defect predictor. Software defect are an error that are introduced by software developer and stakeholders. Finally, in this study we discovered the application of machine learning on software defect that we gathered from the previous research works.


2012 ◽  
Vol 2 (2) ◽  
pp. 112-116
Author(s):  
Shikha Bhatia ◽  
Mr. Harshpreet Singh

With the mounting demand of web applications, a number of issues allied to its quality have came in existence. In the meadow of web applications, it is very thorny to develop high quality web applications. A design pattern is a general repeatable solution to a generally stirring problem in software design. It should be noted that design pattern is not a finished product that can be directly transformed into source code. Rather design pattern is a depiction or template that describes how to find solution of a problem that can be used in many different situations. Past research has shown that design patterns greatly improved the execution speed of a software application. Design pattern are classified as creational design patterns, structural design pattern, behavioral design pattern, etc. MVC design pattern is very productive for architecting interactive software systems and web applications. This design pattern is partition-independent, because it is expressed in terms of an interactive application running in a single address space. We will design and analyze an algorithm by using MVC approach to improve the performance of web based application. The objective of our study will be to reduce one of the major object oriented features i.e. coupling between model and view segments of web based application. The implementation for the same will be done in by using .NET framework.


2018 ◽  
Vol 06 (05) ◽  
pp. 111-114
Author(s):  
Varsha Mittal ◽  
Neena Gupta

Sign in / Sign up

Export Citation Format

Share Document