The at
omicity of correlated variables is
quite tedious and error prone for programmers to explicitly infer
and specify in
the multi
-
threaded program
. Researchers have studied the automatic discovery of atomic set
programmers intended, such as by frequent itemset
mining and rules
-
based filter. However, due to the
lack
of inspection of inner structure
,
some
implicit sematics
independent
variables intended by user are
mistakenly
classified to be correlated
. In this paper, we present a
novel
simplification method for
program
dependency graph
and the corresponding graph
mining approach to detect the set of variables correlated
by logical structures in the source code. This approach formulates the automatic inference of the correlated
variables as mining frequent subgra
ph of
the simplified
data and control flow dependency graph. The
presented simplified
graph representation of program dependency is not only robust for coding style’s
varieties, but also essential to recognize the logical correlation. We implemented our me
thod and
compared it with previous methods on the open source programs’ repositories. The experiment results
show that our method has less false positive rate than previous methods in the development initial stage. It
is concluded that our presented method
can provide programmers in the development with the sufficient
precise correlated variable set for checking atomicity
Dependency analysis is a technique to detect dependencies between tasks that prevent these tasks from running in parallel. It is an important aspect of parallel programming tools. Dependency analysis techniques are used to determine how much of the code is parallelizable. Literature shows that number of data dependence test has been proposed for parallelizing loops in case of arrays with linear subscripts, however less work has been done for arrays with nonlinear subscripts. GCD test, Banerjee method, Omega test, I-test dependence decision algorithms are used for one-dimensional arrays under constant or variable bounds. However, these approaches perform well only for nested loop with linear array subscripts. The Quadratic programming (QP) test, polynomial variable interval (PVI) test, Range test are typical techniques for nonlinear subscripts. The paper presents survey of these different data dependence analysis tests.
A novel algorithm to protect and manage memory locationsiosrjce
IOSR Journal of Computer Engineering (IOSR-JCE) is a double blind peer reviewed International Journal that provides rapid publication (within a month) of articles in all areas of computer engineering and its applications. The journal welcomes publications of high quality papers on theoretical developments and practical applications in computer technology. Original research papers, state-of-the-art reviews, and high quality technical notes are invited for publications.
Evaluation of models for predicting user’s next request in web usage miningIJCI JOURNAL
Prediction of web user behavior is the demand of today competitive edge of World Wide Web. Predicting the
next web page is not sufficient, evaluation of prediction models is important because every model have its own pros and cons. Prediction results will be helpful if high prediction accuracy is achieved with minimum complexity, which are depended on the prediction model. Various models and their variations are proposed for predicting the next web page accessed by the web user. Markov model and their variations are found suitable for web prediction. In this research we have evaluated and compared various models for predicting next web page accessed by the web user. Experiments are conducted on three different real datasets.
IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETSIJCNCJournal
The document describes a mechanism for generating compositional Petri net models that simulate the behavior of imperative programs. The mechanism consists of two main stages: 1) preparing the program structure using elements like libraries and functions, and 2) generating the contents of function bodies based on semantic construction templates. Some example templates are provided for imperative language constructs like branching, loops, and switch statements. The templates have access points that allow them to be merged via a composition operation to build up function bodies. An example generation is shown where templates for loading, function calls, branching, and termination are combined to model a simple program. The compositional approach allows modeling larger programs by reusing and linking together structural elements and function bodies.
IJRET : International Journal of Research in Engineering and Technology is an international peer reviewed, online journal published by eSAT Publishing House for the enhancement of research in various disciplines of Engineering and Technology. The aim and scope of the journal is to provide an academic medium and an important reference for the advancement and dissemination of research results that support high-level learning, teaching and research in the fields of Engineering and Technology. We bring together Scientists, Academician, Field Engineers, Scholars and Students of related fields of Engineering and Technology
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLScsandit
Many theoretical works and tools on epidemiological field reflect the emphasis on decisionmaking
tools by both public health and the scientific community, which continues to increase.
Indeed, in the epidemiological field, modeling tools are proving a very important way in helping
to make decision. However, the variety, the large volume of data and the nature of epidemics
lead us to seek solutions to alleviate the heavy burden imposed on both experts and developers.
In this paper, we present a new approach: the passage of an epidemic model realized in Bio-
PEPA to a narrative language using the basics of SBML language. Our goal is to allow on one
hand, epidemiologists to verify and validate the model, and the other hand, developers to
optimize the model in order to achieve a better model of decision making. We also present some
preliminary results and some suggestions to improve the simulated model.
IRJET- A Novel Approch Automatically Categorizing Software TechnologiesIRJET Journal
This document proposes an automatic approach called Witt to categorize software technologies based on their descriptions. Witt takes a sentence describing a technology as input and outputs a general category (e.g. integrated development environment) along with qualifying attributes. It applies natural language processing and the Levenshtein distance algorithm to compare string similarities and categorize technologies from large datasets. The system architecture first obtains data on software methodologies and labels. It then applies NLP and Levenshtein distance to find hypernyms and transform them into categories with attributes for classification.
Dependency analysis is a technique to detect dependencies between tasks that prevent these tasks from running in parallel. It is an important aspect of parallel programming tools. Dependency analysis techniques are used to determine how much of the code is parallelizable. Literature shows that number of data dependence test has been proposed for parallelizing loops in case of arrays with linear subscripts, however less work has been done for arrays with nonlinear subscripts. GCD test, Banerjee method, Omega test, I-test dependence decision algorithms are used for one-dimensional arrays under constant or variable bounds. However, these approaches perform well only for nested loop with linear array subscripts. The Quadratic programming (QP) test, polynomial variable interval (PVI) test, Range test are typical techniques for nonlinear subscripts. The paper presents survey of these different data dependence analysis tests.
A novel algorithm to protect and manage memory locationsiosrjce
IOSR Journal of Computer Engineering (IOSR-JCE) is a double blind peer reviewed International Journal that provides rapid publication (within a month) of articles in all areas of computer engineering and its applications. The journal welcomes publications of high quality papers on theoretical developments and practical applications in computer technology. Original research papers, state-of-the-art reviews, and high quality technical notes are invited for publications.
Evaluation of models for predicting user’s next request in web usage miningIJCI JOURNAL
Prediction of web user behavior is the demand of today competitive edge of World Wide Web. Predicting the
next web page is not sufficient, evaluation of prediction models is important because every model have its own pros and cons. Prediction results will be helpful if high prediction accuracy is achieved with minimum complexity, which are depended on the prediction model. Various models and their variations are proposed for predicting the next web page accessed by the web user. Markov model and their variations are found suitable for web prediction. In this research we have evaluated and compared various models for predicting next web page accessed by the web user. Experiments are conducted on three different real datasets.
IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETSIJCNCJournal
The document describes a mechanism for generating compositional Petri net models that simulate the behavior of imperative programs. The mechanism consists of two main stages: 1) preparing the program structure using elements like libraries and functions, and 2) generating the contents of function bodies based on semantic construction templates. Some example templates are provided for imperative language constructs like branching, loops, and switch statements. The templates have access points that allow them to be merged via a composition operation to build up function bodies. An example generation is shown where templates for loading, function calls, branching, and termination are combined to model a simple program. The compositional approach allows modeling larger programs by reusing and linking together structural elements and function bodies.
IJRET : International Journal of Research in Engineering and Technology is an international peer reviewed, online journal published by eSAT Publishing House for the enhancement of research in various disciplines of Engineering and Technology. The aim and scope of the journal is to provide an academic medium and an important reference for the advancement and dissemination of research results that support high-level learning, teaching and research in the fields of Engineering and Technology. We bring together Scientists, Academician, Field Engineers, Scholars and Students of related fields of Engineering and Technology
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLScsandit
Many theoretical works and tools on epidemiological field reflect the emphasis on decisionmaking
tools by both public health and the scientific community, which continues to increase.
Indeed, in the epidemiological field, modeling tools are proving a very important way in helping
to make decision. However, the variety, the large volume of data and the nature of epidemics
lead us to seek solutions to alleviate the heavy burden imposed on both experts and developers.
In this paper, we present a new approach: the passage of an epidemic model realized in Bio-
PEPA to a narrative language using the basics of SBML language. Our goal is to allow on one
hand, epidemiologists to verify and validate the model, and the other hand, developers to
optimize the model in order to achieve a better model of decision making. We also present some
preliminary results and some suggestions to improve the simulated model.
IRJET- A Novel Approch Automatically Categorizing Software TechnologiesIRJET Journal
This document proposes an automatic approach called Witt to categorize software technologies based on their descriptions. Witt takes a sentence describing a technology as input and outputs a general category (e.g. integrated development environment) along with qualifying attributes. It applies natural language processing and the Levenshtein distance algorithm to compare string similarities and categorize technologies from large datasets. The system architecture first obtains data on software methodologies and labels. It then applies NLP and Levenshtein distance to find hypernyms and transform them into categories with attributes for classification.
The document proposes a risk-aware response mechanism for mitigating routing attacks in mobile ad hoc networks (MANETs). It introduces the concept of importance factors to extend the Dempster-Shafer theory of evidence. This allows the mechanism to differentiate the importance of different evidence sources when assessing risk. The mechanism uses the extended evidence model to determine adaptive, time-wise isolation of compromised nodes based on potential damages of attacks and countermeasures. Experiments demonstrate the effectiveness of the risk-aware approach.
An Improved PageRank Algorithm for Multilayer NetworksSubhajit Sahu
Highlighted notes on An Improved PageRank Algorithm for Multilayer Networks.
While doing research work under Prof. Kishore Kothapalli.
The authors use a layer-layer weight to provide an additional factor to PR which they then use in the 1st step of SpreadMax algorithm to show that their modified pagerank is better than standard PR in selecting key nodes. I didnt properly understand this.
Applications of networks:
Social networks, Air traffic systems, Transportation networks, Citation networks, Biological systems (infection spreading).
Multilayer networks can be thought of as a large graph subdivided into multiple groups (layers). This probably makes it easier to assign common weights to a particular group of nodes, edges.
Jiang Y., Xu W., Thompson L.P., Gutell R., and Miranker D. (2011).
R-PASS: A Fast Structure-based RNA Sequence Alignment Algorithm.
Proceedings of 2011 IEEE International Conference on Bioinformatics and Biomedicine (BIBM 2011), Atlanta, GA. November 12-15, 2011. IEEE Computer Society, Washington, DC, USA. pp. 618-622.
Improved spambase dataset prediction using svm rbf kernel with adaptive boosteSAT Journals
Abstract Spam is no more garbage but risk as it includes virus attachments and spyware agents which make the recipients’ system ruined, therefore, there is an emerging need for spam detection. Many spam detection techniques based on machine learning algorithms have been proposed. As the amount of spam has been increased tremendously using bulk mailing tools, spam detection techniques should deal with it. In this paper we have proposed Hybrid classifier Adaptive boost with support vector machine RBF kernel on Spambase dataset. We have also extracted the features first by Principal component analysis. General Terms: Email Spam classification. Keywords: Adaboost, classifier, ensemble, machine learning, spam email, SVM.
TEXT ADVERTISEMENTS ANALYSIS USING CONVOLUTIONAL NEURAL NETWORKSijdms
In this paper, we describe the developed model of the Convolutional Neural Networks CNN to a
classification of advertisements. The developed method has been tested on both texts (Arabic and Slovak
texts).The advertisements are chosen on a classified advertisements websites as short texts. We evolved a
modified model of the CNN, we have implemented it and developed next modifications. We studied their
influence on the performing activity of the proposed network. The result is a functional model of the
network and its implementation in Java and Python. And analysis of model results using different
parameters for the network and input data. The results on experiments data show that the developed model
of CNN is useful in the domains of Arabic and Slovak short texts, mainly for some classification of
advertisements. This paper gives complete guidelines for authors submitting papers for the AIRCC
Journals.
Model Based Software Timing Analysis Using Sequence Diagram for Commercial Ap...iosrjce
This document presents a framework for software timing analysis using UML sequence diagrams. The framework involves first gathering requirements and creating a sequence diagram. The sequence diagram is then converted to a label transition graph. Algorithms are applied to reduce the graph to a path expression and determine the minimum and maximum path lengths, representing the minimum and maximum timings. A case study applying this process to the timing analysis of a purchasing process in a mall is presented as an example. The advantage of this approach is that timing requirements can be identified early in the requirements stage from the UML models.
Review and Comparisons between Multiple Ant Based Routing Algorithms in Mobi...IJMER
Along with an increase in the use and development of various types of mobile ad hoc and
wireless sensor networks the necessity for presenting optimum routing in these networks is a topic yet to
be discussed and new algorithms are presented. Using ant colony optimization algorithm or ACO as a
routing method because of its structural similarities to these networks’ model, has had acceptable results
regarding different parameters especially quality of service (QoS). Considering the fact that many
articles have suggested and presented various models for ant based routing, the need for studying and comparing them can be felt. There are about 17 applied ant based routings, this article studies and compares the most important ant based algorithms so as to indicate the quality and importance of each of them under different conditions
A hybrid model to detect malicious executablesUltraUploader
This document presents a hybrid model for detecting malicious executables that uses three types of features: binary n-grams extracted from executable files, assembly n-grams extracted from disassembled executables, and DLL function calls extracted from program headers. A classifier like SVM is trained on the combined "hybrid feature set" to distinguish between benign and malicious executables. The model achieves high detection accuracy and low false positive rates compared to other feature-based approaches.
A New Function-based Framework for Classification and Evaluation of Mutual Ex...CSCJournals
This paper presents a new function-based framework for mutual exclusion algorithms in distributed systems. In the traditional classification mutual exclusion algorithms were divided in to two groups: Token-based and Permission-based. Recently, some new algorithms are proposed in order to increase fault tolerance, minimize message complexity and decrease synchronization delay. Although the studies in this field up to now can compare and evaluate the algorithms, this paper takes a step further and proposes a new function-based framework as a brief introduction to the algorithms in the four groups as follows: Token-based, Permission-based, Hybrid and K-mutual exclusion. In addition, because of being dispersal and obscure performance criteria, introduces four parameters which can be used to compare various distributed mutual exclusion algorithms such as message complexity, synchronization delay, decision theory and nodes configuration. Hope the proposed framework provides a suitable context for technical and clear evaluation of existing and future methods.
IJRET : International Journal of Research in Engineering and Technology is an international peer reviewed, online journal published by eSAT Publishing House for the enhancement of research in various disciplines of Engineering and Technology. The aim and scope of the journal is to provide an academic medium and an important reference for the advancement and dissemination of research results that support high-level learning, teaching and research in the fields of Engineering and Technology. We bring together Scientists, Academician, Field Engineers, Scholars and Students of related fields of Engineering and Technology.
An experimental evaluation of similarity-based and embedding-based link predi...IJDKP
The task of inferring missing links or predicting future ones in a graph based on its current structure
is referred to as link prediction. Link prediction methods that are based on pairwise node similarity
are well-established approaches in the literature and show good prediction performance in many realworld graphs though they are heuristic. On the other hand, graph embedding approaches learn lowdimensional representation of nodes in graph and are capable of capturing inherent graph features,
and thus support the subsequent link prediction task in graph. This paper studies a selection of
methods from both categories on several benchmark (homogeneous) graphs with different properties
from various domains. Beyond the intra and inter category comparison of the performances of the
methods, our aim is also to uncover interesting connections between Graph Neural Network(GNN)-
based methods and heuristic ones as a means to alleviate the black-box well-known limitation.
Using spectral radius ratio for node degreeIJCNCJournal
In this paper, we show that the spectral radius ratio for node degree could be used to analyze the variation of node degree during the evolution of complex networks. We focus on three commonly studied models of complex networks: random networks, scale-free networks and small-world networks. The spectral radius ratio for node degree is defined as the ratio of the principal (largest) eigenvalue of the adjacency matrix of a network graph to that of the average node degree. During the evolution of each of the above three categories of networks (using the appropriate evolution model for each category), we observe the spectral radius ratio for node degree to exhibit high-very high positive correlation (0.75 or above) to that of the
coefficient of variation of node degree (ratio of the standard deviation of node degree and average node degree). We show that the spectral radius ratio for node degree could be used as the basis to tune the operating parameters of the evolution models for each of the three categories of complex networks as well as analyze the impact of specific operating parameters for each model.
Object‐oriented software development is an evolutionary process, and hence the opportunities for integration are abundant. Conceptually, classes are encapsulation of data attributes and their associated functions. Software components are amalgamation of logically and/or physically related classes. A complete software system is also an aggregation of software components. All of these various integration levels warrant contemporary integration techniques. Traditional integration techniques towards the end of software development process do not suffice any more. Integration strategies are needed at class level, component level, sub‐system level, and system levels. Classes require integration of methods. Various types of class interaction mechanisms demand different testing strategies. Integration of classes into components presses its own integration requirements. Finally, the system integration demands different types of integration testing strategies.
EFFECTS OF MAC PARAMETERS ON THE PERFORMANCE OF IEEE 802.11 DCF IN NS-3ijwmn
This paper presents the design procedure of the NS-3 script for WLAN that is organized according to the hierarchical manner of TCP/IP model. We configure all layers by using NS-3 model objects and set and modify the values used by objects to investigate the effects of MAC parameters (access mechanism, CWmin, CWmax and retry limit) on the performance metrics viz. packet delivery ratio, packet lost ratio, aggregated throughput, and average delay. The simulation results show that RTS/CTS access mechanism outperforms basic access mechanism in saturated state, whereas the MAC parameters have no significant impact on network performance in non-saturated state. A higher value of CWmin improves the aggregated throughput in expense of average delay. The tradeoff relationships among the performance metrics are also observed in results for the optimal values of MAC parameters. Our design procedure represents a good guideline for new NS-3 users to design and modify script and results greatly benefit the network design and management.
PERFORMANCE ANALYSIS OF OLSR PROTOCOL IN MANET CONSIDERING DIFFERENT MOBILITY...ijwmn
A Mobile Ad Hoc Network (MANET) is created when an independent mobile node network is connected
dynamically via wireless links. MANET is a self-organizing network that does not rely on pre-existing
infrastructure such as wired or wireless network routers. Mobile nodes in this network move randomly,
thus, the topology is always changing. Routing protocols in MANET are critical in ensuring dependable
and consistent connectivity between the mobile nodes. They conclude logically based on the interaction
between mobile nodes in MANET routing and encourage them to choose the optimum path between source
and destination. Routing protocols are classified as proactive, reactive, or hybrid. The focus of this project
will be on Optimized Link State Routing (OLSR) protocol, a proactive routing technique. OLSR is known as
the optimized variant of link state routing in which packets are sent throughout the network using the
multipoint relay (MPR) mechanism. This article evaluates the performance of the OLSR routing protocol
under condition of changing mobility speed and network density. The study's performance indicators are
average packet throughput, packet delivery ratio (PDR), and average packet latency. Network Simulator 2
(NS-2) and an external patch UM-OLSR are used to simulate and evaluate the performance of such
protocol. As a result of research, the approach of implementing the MPR mechanism are able to minimise
redundant data transmission during the normal message broadcast. The MPRs enhance the link state
protocols’ traditional diffusion mechanism by selecting the right MPRs. Hence, the number of undesired
broadcasts can be reduced and limited. Further research will focus on different scenario and environment
using different mobility model
Problems in Task Scheduling in Multiprocessor Systemijtsrd
This Contemporary computer systems are multiprocessor or multicomputer machines. Their efficiency depends on good methods of administering the executed works. Fast processing of a parallel application is possible only when its parts are appropriately ordered in time and space. This calls for efficient scheduling policies in parallel computer systems. In this work deterministic problems of scheduling are considered. The classical scheduling theory assumed that the application in any moment of time is executed by only one processor. This assumption has been weakened recently, especially in the context of parallel and distributed computer systems. This monograph is devoted to problems of deterministic scheduling applications (or tasks according to the scheduling terminology) requiring more than one processor simultaneously. We name such applications multiprocessor tasks. In this work the complexity of open multiprocessor task scheduling problems has been established. Algorithms for scheduling multiprocessor tasks on parallel and dedicated processors are proposed. For a special case of applications with regular structure which allow for dividing it into parts of arbitrary size processed independently in parallel, a method of finding optimal scattering of work in a distributed computer system is proposed. The applications with such regular characteristics are called divisible tasks. The concept of a divisible task enables creation of tractable computation models in a wide class of computer architectures such as chains, stars, meshes, hypercubes, multistage networks. Divisible task method gives rise to the evaluation of computer system performance. Examples of such performance evaluation are presented. This work summarizes earlier works of the author as well as contains new original results. Mukul Varshney | Jyotsna | Abhakiran Rajpoot | Shivani Garg"Problems in Task Scheduling in Multiprocessor System" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-1 | Issue-4 , June 2017, URL: http://www.ijtsrd.com/papers/ijtsrd2198.pdf http://www.ijtsrd.com/computer-science/computer-architecture/2198/problems-in-task-scheduling-in-multiprocessor-system/mukul-varshney
A Study on -Risk Aware Mitigation for MANET Routing AttacksIRJET Journal
This document discusses routing attacks in mobile ad hoc networks (MANETs) and proposes a risk-aware adaptive mechanism to mitigate them. It begins by introducing MANETs and describing common routing attacks. It then discusses limitations of existing response techniques. The proposed solution uses an extended Dempster-Shafer mathematical theory of evidence with importance factors to assess risk from attacks and countermeasures. This allows a more adaptive response by isolating malicious nodes temporarily based on calculated risk values, rather than simple binary isolation. The effectiveness of this approach is demonstrated using performance metrics like packet delivery ratio and routing cost.
Analyzing consistency models for semi active data replication protocol in dis...ijfcstjournal
Data replication is generally used for increasing
accessibility, availability, performance and scalability
of database systems. For implementing data replication mechanisms, we encounter with some consistency
problems.One of the important problems for implementing data replication mechanism is consistency. In this paper,
the performance tradeoffs of consistency models for semi-active data replication protocol in distributed systems
are analyzed.A brief deliberation about consistency models in data replication is shown.Research on how client-centric guarantees relate to data-centric models is discussed.How guaranteeing conditions of data -
centric consistency models and client - centric consistency models isprovided, is also analyzed.Analysis of the consistency models guarantee in terms of multi-client and single client for the semi-active data replication
protocol without failure and leader death is presented. The
experimental results show that semi-active data replication protocol is appropriate for distributed systems by multi-client replication such as web services.
This document outlines 50 essential content marketing hacks presented by Matt Heinz, President of Heinz Marketing Inc. at CMWorld. It provides an agenda for the presentation and covers topics such as content planning, measurement, formats, distribution, influencer engagement, repurposing content, and getting sales teams to leverage content. The goal is to provide new tools, tricks and best practices to help convert readers into customers through effective content marketing.
The document discusses prototyping and provides examples of different types of prototypes including paper prototypes, digital prototypes, storyboards, role plays, and space prototypes. It explains that prototyping is used to make ideas tangible and test reactions from users in order to gain insights. Prototypes should be iterated on and fail early to push ideas further and save time and money. Both low and high fidelity prototypes are mentioned as ways to test ideas at different stages of the design process.
The document proposes a risk-aware response mechanism for mitigating routing attacks in mobile ad hoc networks (MANETs). It introduces the concept of importance factors to extend the Dempster-Shafer theory of evidence. This allows the mechanism to differentiate the importance of different evidence sources when assessing risk. The mechanism uses the extended evidence model to determine adaptive, time-wise isolation of compromised nodes based on potential damages of attacks and countermeasures. Experiments demonstrate the effectiveness of the risk-aware approach.
An Improved PageRank Algorithm for Multilayer NetworksSubhajit Sahu
Highlighted notes on An Improved PageRank Algorithm for Multilayer Networks.
While doing research work under Prof. Kishore Kothapalli.
The authors use a layer-layer weight to provide an additional factor to PR which they then use in the 1st step of SpreadMax algorithm to show that their modified pagerank is better than standard PR in selecting key nodes. I didnt properly understand this.
Applications of networks:
Social networks, Air traffic systems, Transportation networks, Citation networks, Biological systems (infection spreading).
Multilayer networks can be thought of as a large graph subdivided into multiple groups (layers). This probably makes it easier to assign common weights to a particular group of nodes, edges.
Jiang Y., Xu W., Thompson L.P., Gutell R., and Miranker D. (2011).
R-PASS: A Fast Structure-based RNA Sequence Alignment Algorithm.
Proceedings of 2011 IEEE International Conference on Bioinformatics and Biomedicine (BIBM 2011), Atlanta, GA. November 12-15, 2011. IEEE Computer Society, Washington, DC, USA. pp. 618-622.
Improved spambase dataset prediction using svm rbf kernel with adaptive boosteSAT Journals
Abstract Spam is no more garbage but risk as it includes virus attachments and spyware agents which make the recipients’ system ruined, therefore, there is an emerging need for spam detection. Many spam detection techniques based on machine learning algorithms have been proposed. As the amount of spam has been increased tremendously using bulk mailing tools, spam detection techniques should deal with it. In this paper we have proposed Hybrid classifier Adaptive boost with support vector machine RBF kernel on Spambase dataset. We have also extracted the features first by Principal component analysis. General Terms: Email Spam classification. Keywords: Adaboost, classifier, ensemble, machine learning, spam email, SVM.
TEXT ADVERTISEMENTS ANALYSIS USING CONVOLUTIONAL NEURAL NETWORKSijdms
In this paper, we describe the developed model of the Convolutional Neural Networks CNN to a
classification of advertisements. The developed method has been tested on both texts (Arabic and Slovak
texts).The advertisements are chosen on a classified advertisements websites as short texts. We evolved a
modified model of the CNN, we have implemented it and developed next modifications. We studied their
influence on the performing activity of the proposed network. The result is a functional model of the
network and its implementation in Java and Python. And analysis of model results using different
parameters for the network and input data. The results on experiments data show that the developed model
of CNN is useful in the domains of Arabic and Slovak short texts, mainly for some classification of
advertisements. This paper gives complete guidelines for authors submitting papers for the AIRCC
Journals.
Model Based Software Timing Analysis Using Sequence Diagram for Commercial Ap...iosrjce
This document presents a framework for software timing analysis using UML sequence diagrams. The framework involves first gathering requirements and creating a sequence diagram. The sequence diagram is then converted to a label transition graph. Algorithms are applied to reduce the graph to a path expression and determine the minimum and maximum path lengths, representing the minimum and maximum timings. A case study applying this process to the timing analysis of a purchasing process in a mall is presented as an example. The advantage of this approach is that timing requirements can be identified early in the requirements stage from the UML models.
Review and Comparisons between Multiple Ant Based Routing Algorithms in Mobi...IJMER
Along with an increase in the use and development of various types of mobile ad hoc and
wireless sensor networks the necessity for presenting optimum routing in these networks is a topic yet to
be discussed and new algorithms are presented. Using ant colony optimization algorithm or ACO as a
routing method because of its structural similarities to these networks’ model, has had acceptable results
regarding different parameters especially quality of service (QoS). Considering the fact that many
articles have suggested and presented various models for ant based routing, the need for studying and comparing them can be felt. There are about 17 applied ant based routings, this article studies and compares the most important ant based algorithms so as to indicate the quality and importance of each of them under different conditions
A hybrid model to detect malicious executablesUltraUploader
This document presents a hybrid model for detecting malicious executables that uses three types of features: binary n-grams extracted from executable files, assembly n-grams extracted from disassembled executables, and DLL function calls extracted from program headers. A classifier like SVM is trained on the combined "hybrid feature set" to distinguish between benign and malicious executables. The model achieves high detection accuracy and low false positive rates compared to other feature-based approaches.
A New Function-based Framework for Classification and Evaluation of Mutual Ex...CSCJournals
This paper presents a new function-based framework for mutual exclusion algorithms in distributed systems. In the traditional classification mutual exclusion algorithms were divided in to two groups: Token-based and Permission-based. Recently, some new algorithms are proposed in order to increase fault tolerance, minimize message complexity and decrease synchronization delay. Although the studies in this field up to now can compare and evaluate the algorithms, this paper takes a step further and proposes a new function-based framework as a brief introduction to the algorithms in the four groups as follows: Token-based, Permission-based, Hybrid and K-mutual exclusion. In addition, because of being dispersal and obscure performance criteria, introduces four parameters which can be used to compare various distributed mutual exclusion algorithms such as message complexity, synchronization delay, decision theory and nodes configuration. Hope the proposed framework provides a suitable context for technical and clear evaluation of existing and future methods.
IJRET : International Journal of Research in Engineering and Technology is an international peer reviewed, online journal published by eSAT Publishing House for the enhancement of research in various disciplines of Engineering and Technology. The aim and scope of the journal is to provide an academic medium and an important reference for the advancement and dissemination of research results that support high-level learning, teaching and research in the fields of Engineering and Technology. We bring together Scientists, Academician, Field Engineers, Scholars and Students of related fields of Engineering and Technology.
An experimental evaluation of similarity-based and embedding-based link predi...IJDKP
The task of inferring missing links or predicting future ones in a graph based on its current structure
is referred to as link prediction. Link prediction methods that are based on pairwise node similarity
are well-established approaches in the literature and show good prediction performance in many realworld graphs though they are heuristic. On the other hand, graph embedding approaches learn lowdimensional representation of nodes in graph and are capable of capturing inherent graph features,
and thus support the subsequent link prediction task in graph. This paper studies a selection of
methods from both categories on several benchmark (homogeneous) graphs with different properties
from various domains. Beyond the intra and inter category comparison of the performances of the
methods, our aim is also to uncover interesting connections between Graph Neural Network(GNN)-
based methods and heuristic ones as a means to alleviate the black-box well-known limitation.
Using spectral radius ratio for node degreeIJCNCJournal
In this paper, we show that the spectral radius ratio for node degree could be used to analyze the variation of node degree during the evolution of complex networks. We focus on three commonly studied models of complex networks: random networks, scale-free networks and small-world networks. The spectral radius ratio for node degree is defined as the ratio of the principal (largest) eigenvalue of the adjacency matrix of a network graph to that of the average node degree. During the evolution of each of the above three categories of networks (using the appropriate evolution model for each category), we observe the spectral radius ratio for node degree to exhibit high-very high positive correlation (0.75 or above) to that of the
coefficient of variation of node degree (ratio of the standard deviation of node degree and average node degree). We show that the spectral radius ratio for node degree could be used as the basis to tune the operating parameters of the evolution models for each of the three categories of complex networks as well as analyze the impact of specific operating parameters for each model.
Object‐oriented software development is an evolutionary process, and hence the opportunities for integration are abundant. Conceptually, classes are encapsulation of data attributes and their associated functions. Software components are amalgamation of logically and/or physically related classes. A complete software system is also an aggregation of software components. All of these various integration levels warrant contemporary integration techniques. Traditional integration techniques towards the end of software development process do not suffice any more. Integration strategies are needed at class level, component level, sub‐system level, and system levels. Classes require integration of methods. Various types of class interaction mechanisms demand different testing strategies. Integration of classes into components presses its own integration requirements. Finally, the system integration demands different types of integration testing strategies.
EFFECTS OF MAC PARAMETERS ON THE PERFORMANCE OF IEEE 802.11 DCF IN NS-3ijwmn
This paper presents the design procedure of the NS-3 script for WLAN that is organized according to the hierarchical manner of TCP/IP model. We configure all layers by using NS-3 model objects and set and modify the values used by objects to investigate the effects of MAC parameters (access mechanism, CWmin, CWmax and retry limit) on the performance metrics viz. packet delivery ratio, packet lost ratio, aggregated throughput, and average delay. The simulation results show that RTS/CTS access mechanism outperforms basic access mechanism in saturated state, whereas the MAC parameters have no significant impact on network performance in non-saturated state. A higher value of CWmin improves the aggregated throughput in expense of average delay. The tradeoff relationships among the performance metrics are also observed in results for the optimal values of MAC parameters. Our design procedure represents a good guideline for new NS-3 users to design and modify script and results greatly benefit the network design and management.
PERFORMANCE ANALYSIS OF OLSR PROTOCOL IN MANET CONSIDERING DIFFERENT MOBILITY...ijwmn
A Mobile Ad Hoc Network (MANET) is created when an independent mobile node network is connected
dynamically via wireless links. MANET is a self-organizing network that does not rely on pre-existing
infrastructure such as wired or wireless network routers. Mobile nodes in this network move randomly,
thus, the topology is always changing. Routing protocols in MANET are critical in ensuring dependable
and consistent connectivity between the mobile nodes. They conclude logically based on the interaction
between mobile nodes in MANET routing and encourage them to choose the optimum path between source
and destination. Routing protocols are classified as proactive, reactive, or hybrid. The focus of this project
will be on Optimized Link State Routing (OLSR) protocol, a proactive routing technique. OLSR is known as
the optimized variant of link state routing in which packets are sent throughout the network using the
multipoint relay (MPR) mechanism. This article evaluates the performance of the OLSR routing protocol
under condition of changing mobility speed and network density. The study's performance indicators are
average packet throughput, packet delivery ratio (PDR), and average packet latency. Network Simulator 2
(NS-2) and an external patch UM-OLSR are used to simulate and evaluate the performance of such
protocol. As a result of research, the approach of implementing the MPR mechanism are able to minimise
redundant data transmission during the normal message broadcast. The MPRs enhance the link state
protocols’ traditional diffusion mechanism by selecting the right MPRs. Hence, the number of undesired
broadcasts can be reduced and limited. Further research will focus on different scenario and environment
using different mobility model
Problems in Task Scheduling in Multiprocessor Systemijtsrd
This Contemporary computer systems are multiprocessor or multicomputer machines. Their efficiency depends on good methods of administering the executed works. Fast processing of a parallel application is possible only when its parts are appropriately ordered in time and space. This calls for efficient scheduling policies in parallel computer systems. In this work deterministic problems of scheduling are considered. The classical scheduling theory assumed that the application in any moment of time is executed by only one processor. This assumption has been weakened recently, especially in the context of parallel and distributed computer systems. This monograph is devoted to problems of deterministic scheduling applications (or tasks according to the scheduling terminology) requiring more than one processor simultaneously. We name such applications multiprocessor tasks. In this work the complexity of open multiprocessor task scheduling problems has been established. Algorithms for scheduling multiprocessor tasks on parallel and dedicated processors are proposed. For a special case of applications with regular structure which allow for dividing it into parts of arbitrary size processed independently in parallel, a method of finding optimal scattering of work in a distributed computer system is proposed. The applications with such regular characteristics are called divisible tasks. The concept of a divisible task enables creation of tractable computation models in a wide class of computer architectures such as chains, stars, meshes, hypercubes, multistage networks. Divisible task method gives rise to the evaluation of computer system performance. Examples of such performance evaluation are presented. This work summarizes earlier works of the author as well as contains new original results. Mukul Varshney | Jyotsna | Abhakiran Rajpoot | Shivani Garg"Problems in Task Scheduling in Multiprocessor System" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-1 | Issue-4 , June 2017, URL: http://www.ijtsrd.com/papers/ijtsrd2198.pdf http://www.ijtsrd.com/computer-science/computer-architecture/2198/problems-in-task-scheduling-in-multiprocessor-system/mukul-varshney
A Study on -Risk Aware Mitigation for MANET Routing AttacksIRJET Journal
This document discusses routing attacks in mobile ad hoc networks (MANETs) and proposes a risk-aware adaptive mechanism to mitigate them. It begins by introducing MANETs and describing common routing attacks. It then discusses limitations of existing response techniques. The proposed solution uses an extended Dempster-Shafer mathematical theory of evidence with importance factors to assess risk from attacks and countermeasures. This allows a more adaptive response by isolating malicious nodes temporarily based on calculated risk values, rather than simple binary isolation. The effectiveness of this approach is demonstrated using performance metrics like packet delivery ratio and routing cost.
Analyzing consistency models for semi active data replication protocol in dis...ijfcstjournal
Data replication is generally used for increasing
accessibility, availability, performance and scalability
of database systems. For implementing data replication mechanisms, we encounter with some consistency
problems.One of the important problems for implementing data replication mechanism is consistency. In this paper,
the performance tradeoffs of consistency models for semi-active data replication protocol in distributed systems
are analyzed.A brief deliberation about consistency models in data replication is shown.Research on how client-centric guarantees relate to data-centric models is discussed.How guaranteeing conditions of data -
centric consistency models and client - centric consistency models isprovided, is also analyzed.Analysis of the consistency models guarantee in terms of multi-client and single client for the semi-active data replication
protocol without failure and leader death is presented. The
experimental results show that semi-active data replication protocol is appropriate for distributed systems by multi-client replication such as web services.
This document outlines 50 essential content marketing hacks presented by Matt Heinz, President of Heinz Marketing Inc. at CMWorld. It provides an agenda for the presentation and covers topics such as content planning, measurement, formats, distribution, influencer engagement, repurposing content, and getting sales teams to leverage content. The goal is to provide new tools, tricks and best practices to help convert readers into customers through effective content marketing.
The document discusses prototyping and provides examples of different types of prototypes including paper prototypes, digital prototypes, storyboards, role plays, and space prototypes. It explains that prototyping is used to make ideas tangible and test reactions from users in order to gain insights. Prototypes should be iterated on and fail early to push ideas further and save time and money. Both low and high fidelity prototypes are mentioned as ways to test ideas at different stages of the design process.
10 Insightful Quotes On Designing A Better Customer ExperienceYuan Wang
In an ever-changing landscape of one digital disruption after another, companies and organisations are looking for new ways to understand their target markets and engage them better. Increasingly they invest in user experience (UX) and customer experience design (CX) capabilities by working with a specialist UX agency or developing their own UX lab. Some UX practitioners are touting leaner and faster ways of developing customer-centric products and services, via methodologies such as guerilla research, rapid prototyping and Agile UX. Others seek innovation and fulfilment by spending more time in research, being more inclusive, and designing for social goods.
Experience is more than just an interface. It is a relationship, as well as a series of touch points between your brand and your customer. Here are our top 10 highlights and takeaways from the recent UX Australia conference to help you transform your customer experience design.
For full article, continue reading at https://yump.com.au/10-ways-supercharge-customer-experience-design/
http://inarocket.com
Learn BEM fundamentals as fast as possible. What is BEM (Block, element, modifier), BEM syntax, how it works with a real example, etc.
How to Build a Dynamic Social Media PlanPost Planner
Stop guessing and wasting your time on networks and strategies that don’t work!
Join Rebekah Radice and Katie Lance to learn how to optimize your social networks, the best kept secrets for hot content, top time management tools, and much more!
Watch the replay here: bit.ly/socialmedia-plan
The document discusses how personalization and dynamic content are becoming increasingly important on websites. It notes that 52% of marketers see content personalization as critical and 75% of consumers like it when brands personalize their content. However, personalization can create issues for search engine optimization as dynamic URLs and content are more difficult for search engines to index than static pages. The document provides tips for SEOs to help address these personalization and SEO challenges, such as using static URLs when possible and submitting accurate sitemaps.
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
How can we take UX and Data Storytelling out of the tech context and use them to change the way government behaves?
Showcasing the truth is the highest goal of data storytelling. Because the design of a chart can affect the interpretation of data in a major way, one must wield visual tools with care and deliberation. Using quantitative facts to evoke an emotional response is best achieved with the combination of UX and data storytelling.
This document summarizes a study of CEO succession events among the largest 100 U.S. corporations between 2005-2015. The study analyzed executives who were passed over for the CEO role ("succession losers") and their subsequent careers. It found that 74% of passed over executives left their companies, with 30% eventually becoming CEOs elsewhere. However, companies led by succession losers saw average stock price declines of 13% over 3 years, compared to gains for companies whose CEO selections remained unchanged. The findings suggest that boards generally identify the most qualified CEO candidates, though differences between internal and external hires complicate comparisons.
This document provides an overview of code scheduling constraints and techniques. It discusses:
- Three types of constraints - control dependence, data dependence, and resource constraints. Changing operation order must not alter program results.
- Data dependence analysis to identify true, anti, and output dependences between memory accesses. This is challenging for arrays and pointers.
- Tradeoffs between register usage and parallelism due to limited register files.
- Supporting speculative execution through prefetching, poison bits, and predicated instructions.
- A basic machine model for representing hardware resources and operation properties like latency.
This document lists several Java/J2EE/J2ME projects related to utility computing environments, schema matching, fuzzy ontology generation, wireless sensor networks, wireless MAC protocols, distributed cache updating, selfish routing, collaborative key agreement, TCP congestion control, global roaming in mobile networks, GPS-based emergency response systems, network intrusion detection, honey pots, voice over IP, vehicle tracking, SIP-based teleconferencing, online security systems, and location-aided routing in ad hoc networks. The projects cover a wide range of topics related to distributed systems, wireless networks, and Internet applications.
This document lists several Java/J2EE/J2ME projects involving topics like adaptive resource allocation in utility computing, automatic schema matching, fuzzy ontology generation for the semantic web, energy efficient routing in wireless sensor networks, wireless MAC protocols, distributed cache updating, selfish routing in internet-like environments, distributed collaborative key agreement, TCP low priority service, distributed database architecture for global roaming, shortest path finding using GPS navigation, network intrusion detection, honey pots for security, voice over internet protocol, GPS vehicle location tracking, SIP-based teleconferencing, online security systems using motion detection, and location aided routing in ad-hoc networks.
This document lists several Java/J2EE/J2ME projects including:
1. A project on adaptive resource allocation in utility computing clusters that observed a 14% increase in resource provider profit and 20% reduction in user request response time.
2. A project on automatic schema matching that introduced a framework for composing schema matchers and generating ranked schema mappings.
3. A project on automatic fuzzy ontology generation for the semantic web using fuzzy formal concept analysis.
4. A project on energy efficient routing in wireless sensor networks that jointly optimized data transmission and fusion costs.
The document describes 10 Java/J2EE/J2ME projects covering topics such as:
1) Adaptive resource allocation in utility computing and its impact on provider profit and user response times.
2) Using schema meta-matching to generate consensus mappings between schemas by composing multiple schema matchers.
3) Automatically generating fuzzy ontologies for the semantic web using fuzzy formal concept analysis.
4) An adaptive data fusion algorithm for energy efficient routing in wireless sensor networks.
5) An implicitly pipelined MAC protocol to improve channel utilization for wireless networks.
6) A distributed cache updating algorithm for the dynamic source routing protocol.
7) Investigating selfish routing in Internet-like environments using game
This document lists several Java/J2EE/J2ME projects related to utility computing environments, schema matching, fuzzy ontology generation, wireless sensor networks, wireless MAC protocols, distributed cache updating, selfish routing, collaborative key agreement, TCP congestion control, global roaming in mobile networks, GPS-based emergency response systems, network intrusion detection, honey pots, voice over IP, vehicle tracking, SIP-based teleconferencing, online security systems, and location-aided routing in ad hoc networks. The projects cover a wide range of topics related to distributed systems, wireless networks, and Internet protocols.
The document describes 10 Java/J2EE/J2ME projects covering topics such as:
1) Adaptive resource allocation in utility computing and its impact on provider profit and user requirements.
2) Using schema meta-matching to generate consensus rankings from multiple schema matchers to improve automatic schema matching.
3) The FOGA framework for automatically generating fuzzy ontologies for representing uncertainty on the Semantic Web.
4) The Adaptive Fusion Steiner Tree algorithm for optimizing energy efficiency in wireless sensor networks by adaptively determining whether to perform data fusion.
This document lists several Java/J2EE/J2ME projects related to utility computing environments, schema matching, fuzzy ontology generation, wireless sensor networks, wireless MAC protocols, distributed cache updating, selfish routing, collaborative key agreement, TCP congestion control, global roaming in mobile networks, GPS-based emergency response systems, network intrusion detection, honey pots, voice over IP, vehicle tracking, SIP-based teleconferencing, online security systems, and location-aided routing in ad hoc networks. The projects cover a wide range of topics related to distributed systems, wireless networks, and Internet protocols.
This document lists several Java/J2EE/J2ME projects related to utility computing environments, schema matching, fuzzy ontology generation, wireless sensor networks, wireless MAC protocols, distributed cache updating, selfish routing, collaborative key agreement, TCP congestion control, global roaming in mobile networks, GPS-based emergency response systems, network intrusion detection, honey pots, voice over IP, vehicle tracking, SIP-based teleconferencing, online security systems, and location-aided routing in ad hoc networks. The projects cover a wide range of topics related to distributed systems, wireless networks, and Internet protocols.
This document lists several Java/J2EE/J2ME projects related to utility computing environments, schema matching, fuzzy ontology generation, wireless sensor networks, wireless MAC protocols, distributed cache updating, selfish routing, collaborative key agreement, TCP congestion control, global roaming in mobile networks, GPS-based emergency response systems, network intrusion detection, honey pots, voice over IP, vehicle tracking, SIP-based teleconferencing, online security systems, and location-aided routing in ad hoc networks. The projects cover a wide range of topics related to distributed systems, wireless networks, and Internet protocols.
This document lists several Java/J2EE/J2ME projects related to utility computing environments, schema matching, fuzzy ontology generation, wireless sensor networks, wireless MAC protocols, distributed cache updating, selfish routing, collaborative key agreement, TCP congestion control, global roaming in mobile networks, GPS-based emergency response systems, network intrusion detection, honey pots, voice over IP, vehicle tracking, SIP-based teleconferencing, online security systems, and location-aided routing in ad hoc networks. The projects cover a wide range of topics related to distributed systems, wireless networks, and Internet protocols.
This document lists several Java/J2EE/J2ME projects related to utility computing environments, schema matching, fuzzy ontology generation, wireless sensor networks, wireless MAC protocols, distributed cache updating, selfish routing, collaborative key agreement, TCP congestion control, global roaming in mobile networks, GPS-based emergency response systems, network intrusion detection, honey pots, voice over IP, vehicle tracking, SIP-based teleconferencing, online security systems, and location-aided routing in ad hoc networks. The projects cover a wide range of topics related to distributed systems, wireless networks, and Internet applications.
Truly dependable software systems should be built with structuring techniques able to decompose the software complexity without
hiding important hypotheses and assumptions such as those regarding
their target execution environment and the expected fault- and system
models. A judicious assessment of what can be made transparent and
what should be translucent is necessary. This paper discusses a practical
example of a structuring technique built with these principles in mind:
Reflective and refractive variables. We show that our technique offers
an acceptable degree of separation of the design concerns, with limited
code intrusion; at the same time, by construction, it separates but does
not hide the complexity required for managing fault-tolerance. In particular, our technique offers access to collected system-wide information
and the knowledge extracted from that information. This can be used
to devise architectures that minimize the hazard of a mismatch between
dependable software and the target execution environments.
Efficient & Lock-Free Modified Skip List in Concurrent EnvironmentEditor IJCATR
In this era the trend of increasing software demands continues consistently, the traditional approach of faster processes comes to an end, forcing major processor manufactures to turn to multi-threading and multi-core architectures, in what is called the concurrency revolution. At the heart of many concurrent applications lie concurrent data structures. Concurrent data structures coordinate access to shared resources; implementing them is hard. The main goal of this paper is to provide an efficient and practical lock-free implementation of modified skip list data structure. That is suitable for both fully concurrent (large multi-processor) systems as well as pre-emptive (multi-process) systems. The algorithms for concurrent MSL based on mutual exclusion, Causes blocking which has several drawbacks and degrades the system’s overall performance. Non-blocking algorithms avoid blocking, and are either lock-free or wait-free.
11.query optimization to improve performance of the code executionAlexander Decker
1. The document discusses query optimization techniques to improve the performance of object querying in Java.
2. It presents the Java Query Language (JQL) which allows programmers to express queries over object collections in Java through a declarative syntax.
3. The key aspects of JQL implementation include a compiler that compiles JQL queries to Java code and a query evaluator that applies optimizations like hash joins and nested loops joins to efficiently evaluate the queries.
Query optimization to improve performance of the code executionAlexander Decker
This document discusses query optimization techniques to improve the performance of code execution. It describes how object querying provides an abstraction for operations over collections of objects that allows the query evaluator to optimize queries dynamically at runtime. Specifically, it presents an example of using the Java Query Language (JQL) to perform an equi-join on two collections in a more succinct way compared to manually iterating over the collections, and discusses how the JQL query could be optimized using techniques like hash joins.
This document summarizes a technique for removing numerical drift from scientific models when comparing program runs in different computing environments. The technique works by automatically inserting code to trace the values computed at each step. One program run is used to generate a trace file recording these values. Subsequent runs in other environments then compare computed values to those in the trace file, overwriting any that differ only due to numerical drift. This allows identification of errors due to coding or compilers by exposing differences beyond numerical drift. The technique is applied to the Weather Research and Forecasting (WRF) model to debug one of the most important climate modeling codes.
THE REMOVAL OF NUMERICAL DRIFT FROM SCIENTIFIC MODELSIJSEA
Computer programs often behave differently under different compilers or in different computing
environments. Relative debugging is a collection of techniques by which these differences are analysed.
Differences may arise because of different interpretations of errors in the code, because of bugs in the
compilers or because of numerical drift, and all of these were observed in the present study. Numerical
drift arises when small and acceptable differences in values computed by different systems are
integrated, so that the results drift apart. This is well understood and need not degrade the validity of the
program results. Coding errors and compiler bugs may degrade the results and should be removed. This
paper describes a technique for the comparison of two program runs which removes numerical drift and
therefore exposes coding and compiler errors. The procedure is highly automated and requires very little
intervention by the user. The technique is applied to the Weather Research and Forecasting model, the
most widely used weather and climate modelling code.
The document presents an approach for improving requirement traceability by integrating it with software repositories. It proposes a supervised link tracing approach called Trustrace that uses information retrieval (IR) techniques to generate baseline traceability links between requirements and source code. It then mines software repositories like version control systems to generate validating traceability links called "Histrace links" from experts. A trust model called DynWing is used to dynamically assign weights to different expert links in ranking the baseline links. The top ranked expert links are then fed to another trust model called Trumo, which validates the baseline links and finds the most trustable links, improving precision and recall over basic IR techniques.
- The document discusses an automatic approach to structurally validate software product line variants using graph transformations.
- It proposes translating a feature diagram into a decorated tree model to facilitate analysis, then using graph grammars to validate products according to dependencies in the feature diagram.
- The approach is demonstrated through examples, showing the feasibility of using graph transformations to automatically check the structural validity of software product line configurations.
Similar to Automatically inferring structure correlated variable set for concurrent atomicity safety (20)
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
The Department of Veteran Affairs (VA) invited Taylor Paschal, Knowledge & Information Management Consultant at Enterprise Knowledge, to speak at a Knowledge Management Lunch and Learn hosted on June 12, 2024. All Office of Administration staff were invited to attend and received professional development credit for participating in the voluntary event.
The objectives of the Lunch and Learn presentation were to:
- Review what KM ‘is’ and ‘isn’t’
- Understand the value of KM and the benefits of engaging
- Define and reflect on your “what’s in it for me?”
- Share actionable ways you can participate in Knowledge - - Capture & Transfer
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
This talk will cover ScyllaDB Architecture from the cluster-level view and zoom in on data distribution and internal node architecture. In the process, we will learn the secret sauce used to get ScyllaDB's high availability and superior performance. We will also touch on the upcoming changes to ScyllaDB architecture, moving to strongly consistent metadata and tablets.
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Automatically inferring structure correlated variable set for concurrent atomicity safety
1. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
AUTOMATICALLY INFERRING STRUCTURE
CORRELATED VARIABLE SET FOR CONCURRENT
ATOMICITY SAFETY
Long Pang1, Xiaohong Su2, Peijun Ma3 and Lingling Zhao4
School of Computer Science and Technology, Harbin Institute of Technology,
Harbin, China
ABSTRACT
The atomicity of correlated variables is quite tedious and error prone for programmers to explicitly infer
and specify in the multi-threaded program. Researchers have studied the automatic discovery of atomic set
programmers intended, such as by frequent itemset mining and rules-based filter. However, due to the lack
of inspection of inner structure, some implicit sematics independent variables intended by user are
mistakenly classified to be correlated. In this paper, we present a novel simplification method for program
dependency graph and the corresponding graph mining approach to detect the set of variables correlated
by logical structures in the source code. This approach formulates the automatic inference of the correlated
variables as mining frequent subgraph of the simplified data and control flow dependency graph. The
presented simplified graph representation of program dependency is not only robust for coding style’s
varieties, but also essential to recognize the logical correlation. We implemented our method and
compared it with previous methods on the open source programs’ repositories. The experiment results
show that our method has less false positive rate than previous methods in the development initial stage. It
is concluded that our presented method can provide programmers in the development with the sufficient
precise correlated variable set for checking atomicity.
KEYWORDS
Correlated variables, frequent subgraph mining, program dependency graph
1. INTRODUCTION
The multi-threaded program has become pervasive during the popularization of multi-core
hardware. The shared memory can be simultaneously accessed by the parallel threads. The
concurrent threads communicate implicitly the local value of variables by directly accessing the
shared variables. While the concurrency dramatically improves the efficiency of execution, it is
also the source of interleaving complexity. As a result, the concurrent programs are prone to bugs.
It is more difficult to guarantee the safety than the single-threaded programming.
The atomicity [1] is one of the basic properties for the safe shared memory program. It is
traditionally the terminology for the transaction in the field of database. In database, atomicity
means that any interleaving execution of group of transaction can be mapped to a serial execution
of the same group of transitions with the underlying logics equivalent. In shared memory
concurrency programs, the atomicity guarantees that the atomic set of variables are consistent
among any interleaving execution of concurrent threads. In other words, any interleaving
execution of accessing atomic set of variables is semantically equivalent to a serial execution of
DOI : 10.5121/ijsea.2013.4605
51
2. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
accessing the same atomic set of variables. The atomicity is also called serialization. In multithreaded programs, the atomicity violation will break the consistency of concurrent threads
resulting in the unintended bugs. However there is no explicit syntax in programming language to
declare the atomic set of variables. They are hidden inside programmers’ intention.
In previous research work, some researchers focus on detection of single variable related
concurrency safety bugs, such as data race. Dinning et al. [2] and Savage et al. [3] investigate the
well-known lock-set data race detector. Netzer et al. [4] proposed the happen-before race detector.
Miller et al. [5] formalized races and classified the atomicity as high level data race. There were
various static or dynamic enhancements of data races [6-9]. However, the absence of single
variable race is not sufficient to prevent the unexpected thread interleaving. Then researchers
study detection of the violation of atomicity for multiple correlated variables. Flanagan et al.
made use of type system and dynamic analysis to check the atomicity violation [10]. This method
requires user to specify the atomic set of multiple variables by annotation. In recent research
work, researches concentrate on the automatic inference of atomic variables set. Xu et al. [11]
brought forward the region hypothesis to infer the computational unit as the atomic set. Lu et al.
[12] proposed the automatic discovery of correlated variables by the frequent item mining.
This paper proposes a dependency graph mining approach to automatically infer atomic set of
multiple correlated variables from program source code. We find that not only the layout of
variable access, but also the pattern of variable access contribute to the manifestation of the
correlated variables intended by programmers. The traditional methods [11][12] take these two
factors into account separately. Our aim is to integrate the two factors by dependency graph
mining. We represent the potential logic correlated relations in the terms of the variable’s
dependency relation. We formulate the inference problem for atomic set of correlated variables
into a subfigure mining problem on the program dependency graph. This paper makes the
following contributions:
•
•
•
Dependency formulation of the variable access layout and the variable access pattern for
variables’ logical correlation. These two factors are unified into dependency subgraph.
Automatic inference algorithm for the correlated variables set. We propose the graph
mining algorithm for dependency subgraph. It is used to exhibit the correlated variables
for small scale of program base.
Experiment results. To simulate the development process, we evaluate our method in the
initial version of open source program in small scale. The results show that our approach
improves the precision of correlated variables detected for atomicity checking.
2. CORRELATED VARIABLES FOR ATOMIC SET
The correlation among variables is intended by the programmers in mind. There is no explicit
syntax to express this relationship. The atomic set of variables is needed to preserve the
consistency through the arbitrary interleaving among the concurrent threads. The atomic set of
variables must be some kinds of correlated variables. However, it is unnecessary to ensure the
atomicity for all of the correlated variables. For example, the variables for synchronizing threads
are correlated variables but not atomic set, such as two correlated flag variables in Peterson’s
algorithm [13]. Our aim is to identify the correlated variables for atomic set.
In shared-memory multi-threaded programs, the thread computation is synthesized by the
communication of shared variable accesses such as write and read. The concurrency of thread
execution is control flow centred. It is common for the programmers to suppose that some code
segment will execute atomically as the single threaded program. But the concrete interleaving of
52
3. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
concurrency thread may break these assumptions, which cause the atomicity violation bugs. It is
inherently more difficult than single-threaded programming to debug. The correlated variables for
atomic set are helpful for the programmers to comprehend the data centred concurrency and
locate the cause of bugs in the development stage, even avoiding the potential bugs.
There is two directions to infer the atomic set. Xu et al. [11] made use of the read-of-write of
shared variable dependency, local variable and control dependency as rules to divide the shared
variables into computation unit as atomic set. It lacks of support from source code. On the other
hand, Lu et al. [12] used the frequent item mining algorithm to detect the correlated variables in
source code as atomic set. However, they only analysed the dependency but not used this
important clue in the mining algorithm. Our work synthesizes these two factors to extract the
desired atomic set for the initial stage of software development..
2.1. Semantics analysis of correlated variables
The scalar variable can specify one character of the fact. The vector of variables describes some
complex properties of the target. In summary, the programmers are used to the following styles to
model the objective world:
•
•
•
Conditional Relation: a conditional variable describe a state of a content variable. The
update of content variable is determined by the conditional variable. At the same time,
the effect of the update is also reflected by the conditional variable. For example,
consider the string object consisting of fields: length and characters array. The length
variable is conditional guard for the characters array. These two variables are updated in
the same basic block. The array of characters is control dependent on the length variable.
Simple Parallel Relation: The objective fact has different aspects to be recorded in the
program. These attributes should be updated atomically. For example, there are three
variables to describe RGB (Red, Green, Blue) color. These variables are usually accessed
in the same basic block.
Complex Composite Relation: The correlated variables compose the complex data
structure such as linked list, tree and graph. The variables may be read separately in the
different basic block. The variables are updated in the same basic block.
The Figure 1 shows the example of correlated variables mined by MUVI. [12]. However, the
result contains the user-defined synchronization global variable accesses, such as Read_T and
Write_T. The reason is that the access set does not discriminate the internal logical structure. We
still address this problem in the following section.
The discussion is related to the meaning of correlation with respect to intention in programmer’s
mind. They are expressed by different behaviour during the access. The following will discuss the
behaviours exhibited by the correlated variable access.
53
4. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
Figure 1 Program Example and Correlated Pattern
2.2. Behavior analysis of correlated variable
Due to lack of syntactic description of correlated variables, the behaviour of access of variables is
the direct approach to inference the correlation among them. In the imperative programming
language, there are three basic structures: sequence, selection and loop. It is common for
programmers to code the access of correlated variables in togetherness. How to define the
togetherness is the critical criterion to identify the correlation of atomic set.
Lu et al. [12] used the absolute distance MaxDistance to filter out the un-togetherness access. The
source code is flat representation of variable access behaviours. In the extreme condition, it is
possible to dispatch the two accesses of the correlated variables into two positions across the
MaxDistance distance. Xu et al. [11] utilized the data and control dependency on the execution
traces to discriminate the atomic set. Because the initial stage of development can’t generate the
concrete execution trace, it is not adaptable for our need. The straightforward solution is to
substitute the trace dependency graph (PDG) with the program dependency for source code.
Although the dependency is a candidate of dimension for PDG to discriminate the correlated
variables, it is too strict for inference of correlated variables in PDG. For example, the order of
accessing simple parallel relation varies with the occurrences with the same correlated semantics.
The above suggests that the dependency method and the mining method can be very much
complementary to each other.
Our solution is to integrate the data dependency and the control dependency into the criterion for
the togetherness of the correlated variables for atomic set. To relax the constraints on the simple
parallel relation, our dependency graph consists of the data dependency and the control
dependency excluding the control flow graph. The behaviour of correlated variables can be
described by the following classical dependency definition.
•
•
Control Dependency [14]: In CFG, the node X is control dependent on the node Y iff (1)
there exists a directed path P from X to Y with any Z in P (excluding X and Y) postdominated by Y and (2) X is not post-dominated by Y.
Data Dependency[14]: In CFG, the node X is data dependent on the node Y iff (1) the
node X and the node Y are both definition statement and (2) the value in node Y must be
evaluated before the node X.
The control dependency defines the boundary of the potential correlation and relaxes the
strictness of the source code sequence. The data dependency links the possible correlated variable
access by the propagation of related control dependency. For example, the conditional relation
consists of two parts. The first part is the computation of the predicate of condition. The second
54
5. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
part is the control decision part. The first part is linked with the second part by the data
dependency. The if-then-else body of the second part is linked by the control dependency. The
left two semantics of correlation is similar to the conditional correlation case. Therefore, the
control and data dependency is sufficient to represent the semantics of correlation intended by
programmers.
3. DEPENDENCY GRAPH MINING ALGORITHM
3.1. Overview
The aim of dependency graph mining is to inference more structure logics among variables than
flat set of variables, without lose of the generality of correlation. The graph is the precise
representation of the relationship among variables such as data dependency and control
dependency. However, it is not practical to mine the program dependency graph (PDG) directly
due to its tightness. We introduce the simplified PDG to preserve the generality of variable
correlations. The Figure 2 shows the main framework. We will discuss the details in the following
subsections.
Figure 2 Sub-Graph Mining Based Atomic Set Inference Framework
3.2. Simplified program dependency graph
We present the simplified program dependency graph(s-PDG) to represent the data and control
dependency. The s-PDG combines the control dependency and the data dependency graph
excluding the control flow graph. The Figure 4 is the corresponding s-PDG of the Figure 1. The
solid edge means the control dependency. The dashed edge means the data dependency. The
nodes for variable access include: the global variable access, the object’s fields variable access
and the judgment related local variable access. We present the algorithm for simplifying PDG in
Figure 3.
1 INPUT: ControlDependencyGraph cdg_in, DataDependencyGraph ddg_in
2 OUTPUT: SimplifedPDG sPDG
3 GenerateSPDG(cdg_in,ddg_in,sPDG)
4{
5 HashTable to_visit, visited;
6 Node cur_node,
//for traverse
7
unified_localnode; //for simplify the PDG
8 visited.insert(entry);
9 to_visit.insert(entry);
10 while(to_visit.hasElement()){
11 cur_node = to_visit.pop();
12 switch(cur_node.type){
13 case GlobalAccess:
14 sPDG.addNode(cur_node);
55
6. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
15 sPDG.addEdge(cur_node,cdg_in(cur_node),ddg_in(cur_node));
16 break;
17 case LocalAccess:
18 unified_localnode = new LocalCheckNode();
19 sPDG.addNode(localnode);
20 sPDG.addEdge(unified_localnode,
21 cdg_in(cur_node),ddg_in(cur_node));
22 break;
23 };
24 foreach child in cur_node.children do
25 if(!visited.has(child))
26
to_visited.insert(child);
27 }
Figure 3 Algorithm for Computing Simplified PDG
Figure 4 s-PDG example
3.3. Preprocess
During preprocessing, we build the simplified program dependency graph by collection the
following behaviors of accessing variables:
•
•
•
Access of global variable: the global variables are shared among the concurrency threads.
In programmer’s mind, some shared variables cluster together to synchronize and
communicate the information among threads. The global variables are the candidates for
the atomic set.
Access of field variable: the field variables are organized under different parent types.
For programmers, the field variables of the same type have the internal connectivity
among them. However, the connectivity does not need to be atomic. The filed variables
may become shared by its parent type variable. The correlations among field variables are
also candidates for the atomic set.
Local variable predicate: in the compiler intermediate language, the variables used in
predicate is firstly fetched into the logical register and then computed as expressions. The
branches are all control dependent on the final result. To improve the robustness, we
separate the local predicate into two parts: its data dependency and its virtual node for
judgment. It is a balance between the accuracy and the granularity of the correlation
variables.
3.4. Frequent sub-graph mining and example
To extract the atomic set, we adopt the gSpan [15] to mine the s-PDG. The s-PDG abstracts the
predicate for the judgment and loop statement. The directed s-PDG classifies the variable access
56
7. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
into hierarchies with respect to the control dependency. The data dependency is the skeleton of
the effect of target variable writes. Due to the set property of graph’s successor relation, the nodes
of parent node represent all possible sequence of the variable accesses. Meanwhile, the data and
control dependency discriminates the logics of variables correlation avoiding blurring the
programmer’s intention.
The criterion for designing s-PDG is to balance the generalization of variable access pattern and
the specialization of correlated variables. The Figure 5 shows the result of frequent sub-graph of
s-PDG in Figure 4, which is mined by gSpan [15].
Figure 5 Result of Frequent Sub-Graph Mining
The Figure 5(a) is an instance of data dependency. There is only one shared variable candidate.
Therefore, it is not the candidate for the atomic set. In the following subsection, we will discuss
the details of post-processing. The Figure 5(b) is a candidate of correlated variables, m_inCard
and m_curCash. Comparing to Figure 1, our method’s result has excluded the shared global
variable T for the user-defined synchronization.
3.5. The Generation and pruning of correlated variables
While the frequent sub-graph is the candidate for the atomic set, we need post-processing to filter
out the unnecessary correlated variables for atomic set. The intuition is to get most correlated
variables among the other candidates.
Subgraph isomorphism and subgraph support: for labelled graph, there is a label function l
mapping a vertex or an edge to a label. A graph g is subgraph of another subgraph g’ if there is a
subgraph isomorphism from g to g’ denoted as g ⊆ g ' . For two labelled graphs g and g’, a
subgraph isomorphism is a injective function f: V(g)->V(g’), s.t. , (1) ∀v ∈ V (g ), ; and (2)
∀(u , v ) ∈ E ( g ) , l (v ) = l ' ( f (v )) and ( f (u ), f (v )) ∈ E ( g ' ) , l (u , v ) = l ' ( f (u ), f (v )) . F is also called an
embedding of g in g’. Given a graph dataset D={G1,G2,…,Gn} and a subgraph g, the supporting
graph set of g is Dg = {G | g ⊆ G , G ∈ D} . Then the frequency is |Dg|/|D|. The frequency of the
mined subgraph of correlated variables is greater than user defined MinSupport.
Variable Support and Correlation Confidence: the support of variable is the number of frequent
graphs containing the variable. The confidence of correlation is the conditional probability of the
composed variable support. The correlation confidence is a vector of its composed variables. We
compute the mean of all elements in this vector. The user defined MinConfidence is used to filter
out the correlation with too low mean.
57
8. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
Other pruning: as encountered in Figure 5(a), there are some single global correlations of data
dependency. These frequent subgraphs are filtered out.
4. EXPERIMENT
We implemented a user-defined pass in LLVM[16] to extract the needed static information from
source code, such as data dependency, control dependency and variable access. The outputs of
extraction pass are Acc_Set and s-PDG respectively. We re-implemented the access pattern
mining in MUVI[12] by the FPClose[17]. We implemented our method based on the gSpan[15].
We selected the PARSEC[18] as our benchmark. The Table 1 shows the result.
Table 1 Experiment result table
Program Name
Stream Cluster
Freqmine
Facesim
Bodytrack
Lines of
Code
2333
2710
1966
11169
Correlation
167
184
192
221
MUVI
False Positive Time(s)
21%
0.45
20%
0.65
27%
0.41
18%
2.32
Correlation
106
117
124
137
Our Method
False Positive
3%
2%
1%
5%
Time(s)
23.5
43.5
20.1
230.4
Although we detect the less correlation, the result indicates that our method is much more
accurate than MUVI. Our method is based on the graph mining. While we improve the
generalization by introducing abstracted s-PDG, the representation of graph is stricter than the set
used in MUVI. In the future, we will focus on how to improve the generalization to detect more
correlation with the same precision reserved.
5. RELATED WORKS
5.1. Correlated variables generation and pruning
There are two strategies to inference the atomic set. The first approach is heuristic inference rules.
Xu et al. [11] made use of true dependency (read-write of shared variable) to divide the dynamic
PDG. It is direct and easy to get the atomic set. This rule is suitable for the mature programmer
who strictly obeys the requirement of the programming styles. It is lack of support from other
occurrences of related variables accessed. For the atomicity composition of library usage, Liu et
al[19] inference the atomic set by two program dependencies. One is the accessed object’s field
clustered by synchronized blocks. The other dependency is the fields transitively reachable by the
field’s reference. To improve the efficiency, the thread-local objects are also filtered out by
escape analysis. While this approach combines the support from other occurrences of the related
variables, it is possible to lose the atomic set across the boundary of synchronization blocks.
The second approach is the data mining. There are many application of data mining in the field of
software engineering [20]. MUVI [12] is the first representative of mining based inferring the
correlated atomic set. This approach is the inspiration of our method. Due to the generalization of
variable access in function, the logical structures are lost after mining. Therefore, to solve the
problems of previous approaches, we integrate the heuristic rules into the abstraction of graph
mining target.
5.2. Detection of concurrency bugs
The goal of our automatic inference approach of atomic set is to detect the concurrency bugs. We
also give a overview of related work on this field. There are three kinds of method: static analysis,
58
9. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
dynamic testing and the combination of the former two methods. Miller et al. [5] formalized races
and classified the atomicity as high level data race. There were various static or dynamic
enhancements of data races [6-9]. Flanagan et al. made use of type system and dynamic analysis
to check the atomicity violation [10].
6. CONCLUSION
In this paper, we propose the s-PDG representation for variable correlation and a graph-mining
based automatic inference algorithm for atomic set. The s-PDG makes a balance between the
precise description of correlated variables’ logical structures and the generalization of the
correlation pattern. We also investigate the effect of our method on detecting atomic set. The
experimental result indicates that our approach has lower false positive percentage than the setbased mining approach for atomic set recognition.
ACKNOWLEDGEMENTS
We thank the anonymous reviewers for their insightful comments and suggestions. This research
was funded by National Natural Science Foundation of China under Grand No. 61173021.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
C. Flanagan and S. Qadeer. (2003) “A Type and Effect System for Atomicity”, Proceedings of the
SIGPLAN Conference on Programming Language Design and Implementation, June.
A. Dinning and E. Schonberg. (1991) “Detecting access anomalies in programs with critical sections”,
ACM/ONR Workshop on Parallel and Distributed Debugging (AOWPDD).
S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. Anderson. (1997) “Eraser: A dynamic data
race detector for multithreaded programs”. ACM TOCS.
R. H. B. Netzer and B. P. Miller. (1991) “Improving the accuracy of data race detection”, In PPoPP.
R. H. B. Netzer and B. P. Miller. (1992) “What are Race Conditions?:Some Issues and
Formalizations”, ACM Letters on Programming Languages and Systems, 1(1):74–88.
D. Engler and K. Ashcraft. (2003) “RacerX: Effective, static detection of race conditions and
deadlocks”. In SOSP.
M. Naik, A. Aiken, and J. Whaley. (2006) “Effective static race detection for java”. In PLDI.
Y. Yu, T. Rodeheffer, and W. Chen. (2005) “Racetrack: Effcient detection of data race conditions via
adaptive tracking”, In SOSP.
J.D. Choi. (2002) “Effcient and precise datarace detection for multithreaded object-oriented
programs”, In PLDI.
C. Flanagan and S. N. Freund. (2004) “Atomizer: a dynamic atomicity checker for multithreaded
programs”, In Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of
programming languages, 256–267.
M. Xu, R. Bodik, and M. D. Hill. (2005) A serializability violation detector for shared-memory server
programs. In PLDI.
S. Lu, S. Park, C.F. Hu, et al. (2007) “MUVI: Automatically Inferring Multi-Variable Access
Correlations and Detecting Related Semantic and Concurrency Bugs”, 21st ACM Symposium on
Operating Systems Principles, SOSP.
G. L. Peterson.(1981) “Myths About the Mutual Exclusion Problem”, Information Processing Letters
12(3), 115–116.
J. Ferrante, K. J. Ottenstein, J. D. Warren.(1987) “The program dependence graph and its use in
optimization”, ACM Transactions on Programming Languages and Systems (TOPLAS), 9(3): 319349.
X. Yan, J. Han. (2002) “gSpan: Graph-Based Substructure Pattern Mining” , by Proc. 2002 of Int.
Conf. on Data Mining (ICDM'02).
59
10. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
[16] C. Lattner, V. Adve. (2004) “LLVM: A Compilation Framework for Lifelong Program Analysis &
Transformation”, Proc. of the 2004 International Symposium on Code Generation and Optimization
(CGO'04), Palo Alto, California, Mar..
[17] G. Grahne and J. Zhu. (2003) “Efficiently using prefix-trees in mining frequent itemsets”, In
Proceeding of the First IEEE ICDM Workshop on Frequent Itemset Mining Implementations
(FIMI'03), Nov.
[18] C. Bienia, S. Kumar, J. P. Singh, K. Li. (2008) “The PARSEC benchmark suite: characterization and
architectural implications”, In Proceedings of the 17th International Conference on Parallel
Architectures and Compilation Techniques, October.
[19] P. Liu, J. Dolby, C.Zhang. (2013) “Finding Incorrect Compositions of Atomicity”, FSE.
[20] Q. Taylor, C. Giraud-Carrier, C.D. Knutson. (2010) “Applications of data mining in software
engineering”, International Journal of Data Analysis Techniques and Strategies, 2(3): 243-257.
Authors
PANG Long born in 1984. PhD candidate in the School of Computer Science and
Technology of Harbin Institute of Technology.His current research interests include
alias analysis, concurrency nalysis,program analysis and software engineering.
60