Detecting Behavioral Design Patterns from Software Execution Data

Author(s):  
Cong Liu ◽  
Boudewijn F. van Dongen ◽  
Nour Assy ◽  
Wil M. P. van der Aalst
2018 ◽  
Vol 2018 ◽  
pp. 1-10 ◽  
Author(s):  
Haitao He ◽  
Chun Shan ◽  
Xiangmin Tian ◽  
Yalei Wei ◽  
Guoyan Huang

Identifying influential nodes is important for software in terms of understanding the design patterns and controlling the development and the maintenance process. However, there are no efficient methods to discover them so far. Based on the invoking dependency relationships between the nodes, this paper proposes a novel approach to define the node importance for mining the influential software nodes. First, according to the multiple execution information, we construct a weighted software network (WSN) to denote the software execution dependency structure. Second, considering the invoking times and outdegree about software nodes, we improve the method PageRank and put forward the targeted algorithm FunctionRank to evaluate the node importance (NI) in weighted software network. It has higher influence when the node has lager value of NI. Finally, comparing the NI of nodes, we can obtain the most influential nodes in the software network. In addition, the experimental results show that the proposed approach has good performance in identifying the influential nodes.


Author(s):  
Benjamin Morandi ◽  
Scott West ◽  
Sebastian Nanz ◽  
Hassan Gomaa

2016 ◽  
Vol 27 (08) ◽  
pp. 1650085 ◽  
Author(s):  
Guoyan Huang ◽  
Peng Zhang ◽  
Bing Zhang ◽  
Tengteng Yin ◽  
Jiadong Ren

The community structure is important for software in terms of understanding the design patterns, controlling the development and the maintenance process. In order to detect the optimal community structure in the software network, a method Optimal Partition Software Network (OPSN) is proposed based on the dependency relationship among the software functions. First, by analyzing the information of multiple execution traces of one software, we construct Software Execution Dependency Network (SEDN). Second, based on the relationship among the function nodes in the network, we define Fault Accumulation (FA) to measure the importance of the function node and sort the nodes with measure results. Third, we select the top K(K=1,2,…) nodes as the core of the primal communities (only exist one core node). By comparing the dependency relationships between each node and the K communities, we put the node into the existing community which has the most close relationship. Finally, we calculate the modularity with different initial K to obtain the optimal division. With experiments, the method OPSN is verified to be efficient to detect the optimal community in various softwares.


2021 ◽  
Vol 3 (2(59)) ◽  
pp. 13-18
Author(s):  
Ruslan Borysov

The object of research is an approach of functionality extension for simulation toolkits based on iFogSim. It is assumed by the native approach that enhancement of functionalities should be achieved by inheriting the fog device class and defining new features in its body. However, this approach makes it impossible to use inherited simulators together and significantly decreases flexibility even when utilizing a single simulator. Another problem related exclusively to iFogSim is a specific communication scheme between application modules, which results in data routing limitations in fog architectures and odd data streams taken into account. This paper introduces an alternative extension approach incorporating a peculiar inheritance scheme which tries to reconsider the standard approach from a behavioral design patterns point of view. The key feature of the suggested approach is an extraction of fog device features from the native class into separate behavioral classes. Meanwhile, the designed inheritance scheme allows to flexibly override and combine behaviors. According to the approach principles the developed simulator extends iFogSim with application modules addressing capabilities solving limitations, along with implementing users’ mobility and dynamic wireless connectivity as it is done in MobFogSim. With the aim to check its correctness, the designed toolkit was validated with the standard for iFogSim case study of «EEG Tractor Beam game» application. The validation included four scenarios. In the first two scenarios the features of users’ mobility and dynamic base station connectivity were validated. And in the next scenarios that utilized address routing the obtained delay and network usage values were compared with theoretically calculated ones. The validation results indicated the correct simulator behavior, and introduced functionalities extension approach, being more complex in comparison with the inative one, can significantly improve flexibility of the simulator


Author(s):  
Andrea De Lucia ◽  
Vincenzo Deufemia ◽  
Carmine Gravino ◽  
Michele Risi ◽  
Ciro Pirolli

Author(s):  
Yingxu Wang

Formal inference processes in all kinds of engineering designs are based on the cognitive process and means of abstraction. This paper presents a formal treatment of system design. It first discusses the differences of system designs in abstract and concrete systems. A hierarchical abstraction model of system descriptivity (HAMSD) is developed that explains the abstract levels of entities and artifacts in both the concrete world and the abstract world. The HAMSD model classifies the design of a system at five levels known as the levels of (1) analogue objects, (2) diagrams, (3) natural languages, (4) professional notations, and (5) mathematics from the bottom up. According to the HAMSD model, an architectural, functional, or behavioral design of a system should adopt a higher-level abstract means to describe the system at a given abstract level, in order to obtain more powerful descriptivity and higher accuracy. Therefore, a mechanical system may be designed by using diagrams; while an information or software system can not be precisely described by diagrams. The reason is that the former is at an abstract level lower than the descriptive means of diagrams, but not so is the latter. Applications of the above findings in dealing with complicated problems in large-scale software system designs are discussed in the context of software engineering. Real-time process algebra (RTPA) is adopted as a highly abstract means in case studies on formal methodologies of software system design and modeling for software objects and design patterns.


Sign in / Sign up

Export Citation Format

Share Document