Font Size: a A A

Data Race Detection For Composite Web Services

Posted on:2016-02-02Degree:MasterType:Thesis
Country:ChinaCandidate:Y L HuFull Text:PDF
GTID:2428330461957764Subject:Computer technology
Abstract/Summary:PDF Full Text Request
Web Services are widely used nowadays for their interoperability and reusability.Multiple Web Services can be composed following some business logic specified by BPEL(Business Process Execution Language).A BPEL program is composed of basic and structure activities.Since activities can execute concurrently through<flow>and<link>elements in BPEL,typical concurrency problems,such as data race,atomicity violation and order violation,are also commonly existed in BPEL programs.These issues are hard to detect and reproduce due to their non-determinism and the special features of BPEL language.Data race occurs when two conflicting threads access one shared variable without proper synchronization.Traditional detection methods are mainly based on lockset and Happens-Before relations,but these methods are not sufficient and effective to detect data races in BPEL programs.Therefore,in this paper,we first propose a method called SACS4BPEL to detect data races in BPEL.SACS4BPEL is mainly composed of 3 modules,including static analyzes module,constructing constraints module and constraint solver module.In the static analyzes module,we first statically analysis BPEL program and then construct Happens-Before graphs based on the semantics of BPEL.In the second module,we construct some constraint models dictated by the BPEL rules,including the link constraint model and lock constraint model.Finally in the last module,constraint solver is used to find possible schedules under these constraints that can expose races.In evaluation,we select 10 typical BPEL programs from Oracle BPEL PM Sample and WS-BPEL Composition Repository as our data set,and these programs include almost all the common ones.Our evaluation results indicate that SACS4BPEL is effective and the precision is 76.7%,but the results are not so well for the large scale BPEL programs.Therefore,we propose another method called PA4BPEL to detect data races by dynamically executing BPEL programs.PA4BPEL is mainly composed of 5 modules,including pre-processing module,predicting new traces module,constructing closure-set of traces module,constructing constraints module and constraint solver module.In PA4BPEL,we first instrument the BPEL program and collect the trace after executing the program by BPEL engine.After that,we predict new traces by relaxing the value of variables or conditions of the trace.Second,we construct the closure-set of traces.Third,we construct various constraint models,including HB-relation constraint model,link constraint model,lock constraint model,read-write constraint model and DPE constraint model.And finally,constraint solver is used to detect data races.Our evaluation results indicate that PA4BPEL is effective and the recall is 83.8%and this method is suitable for detecting data races of large scale BPEL programs.
Keywords/Search Tags:BPEL, Data race detection, SMT solver, Predictive analysis
PDF Full Text Request
Related items