BACKGROUND Pancreatic adenocarcinoma,a malignancy that arises in the cells of the pancreas,is a devastating disease with unclear etiology and often poor prognosis.Locally advanced pancreatic cancer,a stage where the t...BACKGROUND Pancreatic adenocarcinoma,a malignancy that arises in the cells of the pancreas,is a devastating disease with unclear etiology and often poor prognosis.Locally advanced pancreatic cancer,a stage where the tumor has grown significantly but has not yet spread to distant organs,presents unique challenges in treatment.This article aims to discuss the current strategies,challenges,and future directions in the management of locally advanced pancreatic adenocarcinoma(LAPC).AIM To investigate the feasibility and efficacy of programmed cell death 1(PD-1)inhibitor sintilimab plus concurrent chemoradiotherapy for LAPC.METHODS Eligible patients had LAPC,an Eastern cooperative oncology group performance status of 0 or 1,adequate organ and marrow functions,and no prior anticancer therapy.In the observation group,participants received intravenous sintilimab 200 mg once every 3 wk,and received concurrent chemoradiotherapy(concurrent conventional fractionated radiotherapy with doses planning target volume 50.4 Gy and gross tumor volume 60 Gy in 28 fractions and oral S-140 mg/m2 twice daily on days 1-14 of a 21-d cycle and intravenous gemcitabine 1000 mg/m2 on days 1 and 8 of a 21-d cycle for eight cycles until disease progression,death,or unacceptable toxicity).In the control group,participants only received concurrent chemoradiotherapy.From April 2020 to November 2021,64 participants were finally enrolled with 34 in the observation group and 30 in the control group.RESULTS Thirty-four patients completed the scheduled course of chemoradiotherapy,while 32(94.1%)received sintilimab plus concurrent chemoradiotherapy with 2 patients discontinuing sintilimab in the observation group.Thirty patients completed the scheduled course of chemoradiotherapy in the control group.Based on the Response Evaluation Criteria in Solid Tumors guidelines,the analysis of the observation group revealed that a partial response was observed in 11 patients(32.4%),stable disease was evident in 19 patients(55.9%),and 4 patients(11.8%)experienced progressive disease;a partial response was observed in 6(20.0%)patients,stable disease in 18(60%),and progressive disease in 6(20%)in the control group.The major toxic effects were leukopenia and nausea.The incidence of severe adverse events(AEs)(grade 3 or 4)was 26.5%(9/34)in the observation group and 23.3%(7/30)in the control group.There were no treatment-related deaths.The observation group demonstrated a significantly longer median overall survival(22.1 mo compared to 15.8 mo)(P<0.05)and progression-free survival(12.2 mo vs 10.1 mo)(P<0.05)in comparison to the control group.The occurrence of severe AEs did not exhibit a statistically significant difference between the observation group and the control group(P>0.05).CONCLUSION Sintilimab plus concurrent chemoradiotherapy was effective and safe for LAPC patients,and warrants further investigation.展开更多
To overcome inefficiency in traditional logic programming, a declarative programming language COPS is designed based on the notion of concurrent constraint programming (CCP). The improvement is achieved by the adoptio...To overcome inefficiency in traditional logic programming, a declarative programming language COPS is designed based on the notion of concurrent constraint programming (CCP). The improvement is achieved by the adoption of constraint-based heuristic strategy and the introduction of deterministic components in the framework of CCP. Syntax specification and an operational semantic description are presented.展开更多
This paper deals with a comparative study on testing of concurrent programs based on different techniques. The various challenges in testing concurrent programming are: defining test coverage criteria based on control...This paper deals with a comparative study on testing of concurrent programs based on different techniques. The various challenges in testing concurrent programming are: defining test coverage criteria based on control flow, generating control flow graph of nondeterministic programs, investigating the applicability of sequential testing criteria to parallel program testing etc. For solving these issues, some existing techniques are discussed in this study. Various researchers use an intermediate graph called Event Inter Actions Graph (EIAG) to solve the problem of generating the control flow graph of nondeterministic programs. Some researches propose an intermediate graph called Interaction Sequence Testing Criteria (ISTC) approach based on sequence of interactions to solve the problem of test coverage criteria based on control and data flow. Another method to solve the problem of generating test coverage based on control flow graph of nondeterministic programs is constraint based approach. It needs constrained elements to generate test case which includes structural element and constraint. The selection of good test cases has been addressed by test data generation technique. The technique of concurrent path analysis approach is used to solve the problem of applicability of sequential testing criteria to parallel program testing. It reduces the number of combined concurrent test paths. The sequential test paths are combined to form concurrent test path. The Integration and System Test Automation (ISTA) approach is used to solve the problem of applicability of sequential testing criteria to parallel program testing. It is used for automated test case generation and execution by using high-level Petri net is a finite state test model.展开更多
Process-oriented design and implementation of concurrent systems has important benefits. However, the inherent complexity of concurrent processes’ communication imposes challenges such as verifying consistency betwee...Process-oriented design and implementation of concurrent systems has important benefits. However, the inherent complexity of concurrent processes’ communication imposes challenges such as verifying consistency between the process-oriented design and implementation of a concurrent system. To deal with such a challenge, we use Galois connections, Failures and Category Theory to construct a formal framework for designing, implementing, analyzing and verifying consistency of concurrent systems. For the purpose of illustrating the framework, a running concurrent system is designed by Communicating Sequential Processes, implemented by a process-oriented programming language Erasmus.展开更多
mc211vm is a process-level ARM-to-x86 binary translator developed in our lab in the past several years. Currently, it is able to emulate singlethreaded programs. We extend mc211vm to emulate multi-threaded programs. O...mc211vm is a process-level ARM-to-x86 binary translator developed in our lab in the past several years. Currently, it is able to emulate singlethreaded programs. We extend mc211vm to emulate multi-threaded programs. Our main task is to reconstruct its architecture for multi-threaded programs. Register mapping, code cache management, and address mapping in mc2llvm have all been modified. In addition, to further speed up the emulation, we collect hot paths, aggressively optimize and generate code for them at run time. Additional threads are used to alleviate the overhead. Thus, when the same hot path is walked through again, the corresponding optimized native code will be executed instead. In our experiments, our system is 8.8X faster than QEMU (quick emulator) on average when emulating the specified benchmarks with 8 guest threads.展开更多
In this paper, we conduct research on the Java multi-thread programming and its further development tendency. Multithreading mechanisms can run several programs at the same time, make the program run effi ciency becom...In this paper, we conduct research on the Java multi-thread programming and its further development tendency. Multithreading mechanisms can run several programs at the same time, make the program run effi ciency becomes higher that also can overcome the problem of basic traditional programming language design while its design is the key to the realization of the synchronous thread. Multithreading is a mechanism that allows concurrent execution of multiple instruction stream in the program, each instruction stream is called a thread, independent from each other between each other. Thread is also known as a lightweight process, it have independent execution and process control. Our research starts from the analysis of the corresponding mechanism to enhance the performance that is innovative and meaningful.展开更多
Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and o...Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and on automatically calculating and incorporating stalling times (e.g. caused by lock contention) in a generic graph model. The idea that thread interleavings can be studied with a matrix calculus is novel in this research area. Our sparse matrix representations of the program are manipulated using an extended Kronecker algebra. The resulting graph represents multi-threaded programs similar as CFGs do for sequential programs. With this graph model, we are able to calculate the WCET of multi-threaded concurrent programs including stalling times which are due to synchronization. We employ a generating function-based approach for setting up data flow equations which are solved by well-known elimination-based dataflow analysis methods or an off-the-shelf equation solver. The WCET of multi-threaded programs can finally be calculated with a non-linear function solver.展开更多
Program slicing is an effective technique for an- alyzing concurrent programs. However, when a conventional closure-based slicing algorithm for sequential programs is ap- plied to a concurrent interprocedural program,...Program slicing is an effective technique for an- alyzing concurrent programs. However, when a conventional closure-based slicing algorithm for sequential programs is ap- plied to a concurrent interprocedural program, the slice is usually imprecise owing to the intransitivity of interference dependence. Interference dependence arises when a state- ment uses a variable defined in another statement executed concurrently. In this study, we propose a global dependence analysis approach based on a program reachability graph, and construct a novel dependence graph called marking-statement dependence graph (MSDG), in which each vertex is a 2-tuple of program state and statement. In contrast to the conven- tional program dependence graph where the vertex is a state- ment, the dependence relation in MSDG is transitive. When traversing MSDG, a precise slice will be obtained. To en- hance the slicing efficiency without loss of precision, our slic- ing algorithm adopts a hybrid strategy. The procedures con- taining interaction statements between threads are inlined and sliced by the slicing algorithm based on program reachability graphs while allowing other procedures to be sliced as se- quential programs. We have implemented our algorithm and three other representative slicing algorithms, and conducted an empirical study on concurrent Java programs. The exper- imental results show that our algorithm computes more pre- cise slices than the other algorithms. Using partial-order re- duction techniques, which are effective for reducing the size of a program reachability graph without loss of precision, ouralgorithm is optimized, thereby improving its performance to some extent.展开更多
Transactional memory (TM) is a new promising concurrency-control mechanism that can avoid many of the pitfalls of the traditional lock-based techniques. TM systems handle data races between threads automatically so ...Transactional memory (TM) is a new promising concurrency-control mechanism that can avoid many of the pitfalls of the traditional lock-based techniques. TM systems handle data races between threads automatically so that programmers do not have to reason about the interaction of threads manually. TM provides a programming model that may make the development of multi-threaded programs easier. Much work has been done to explore the various implementation strategies of TM systems and to achieve better performance, but little has been done on how to formally reason about programs using TM and how to make sure that such reasoning is sound. In this paper, we focus on the semantics of transactional memory and present a proof-carrying code (PCC) system for reasoning about programs using TM . We formalize our reasoning with respect to the TM semantics, prove its soundness, and use examples to demonstrate its effectiveness.展开更多
Concurrent programs written in a machine level language are being used in many areas but verification of such programs brings new challenges to the programming language community. Most of the studies in the literature...Concurrent programs written in a machine level language are being used in many areas but verification of such programs brings new challenges to the programming language community. Most of the studies in the literature on verifying the safety properties of concurrent programs are for high-level languages, specifications, or calculi. Therefore, more studies are needed on concurrency verification for machine level language programs. This paper describes a framework of a Petri net based safety policy for the verification of concurrent assembly programs, to exploit the capability of Petri nets in concurrency modeling. The concurrency safety properties can be considered separately using the net structure and by mixing Hoare logic and computational tree logic. Therefore, more useful higher-level safety properties can be specified and verified.展开更多
This paper defines a new relation--little strong happened-before(LSHB) and presents the algorithm for LSHB. Compared with strong happened-before (SHB) and weak happened- before (WHB), LSHB supports keeping-read-...This paper defines a new relation--little strong happened-before(LSHB) and presents the algorithm for LSHB. Compared with strong happened-before (SHB) and weak happened- before (WHB), LSHB supports keeping-read-result and ensures definite sufficiency of testing. Equivalence partitioning the set of SYN-sequences based on LSHB can efficiently reduce the number of testing SYN-sequences. The case studies prove that LSHB has high practicability.展开更多
In disciplined Ada software development and maintenance, an adequate and suitable graphical representation for concurrency is important. To describe rendezvous ordering, tasking andexecuting flow of tasks, p graph--Re...In disciplined Ada software development and maintenance, an adequate and suitable graphical representation for concurrency is important. To describe rendezvous ordering, tasking andexecuting flow of tasks, p graph--Rendezvous Ordering Graph is presenced in this paper. pgraph is a kind of-hierarchical oriented graph with nodes representing rendezvouses and edgesshowing'ordering relations between rendezvouses as well as flow of tasks. It can be used insoftware understanding, design description and documentation.展开更多
文摘BACKGROUND Pancreatic adenocarcinoma,a malignancy that arises in the cells of the pancreas,is a devastating disease with unclear etiology and often poor prognosis.Locally advanced pancreatic cancer,a stage where the tumor has grown significantly but has not yet spread to distant organs,presents unique challenges in treatment.This article aims to discuss the current strategies,challenges,and future directions in the management of locally advanced pancreatic adenocarcinoma(LAPC).AIM To investigate the feasibility and efficacy of programmed cell death 1(PD-1)inhibitor sintilimab plus concurrent chemoradiotherapy for LAPC.METHODS Eligible patients had LAPC,an Eastern cooperative oncology group performance status of 0 or 1,adequate organ and marrow functions,and no prior anticancer therapy.In the observation group,participants received intravenous sintilimab 200 mg once every 3 wk,and received concurrent chemoradiotherapy(concurrent conventional fractionated radiotherapy with doses planning target volume 50.4 Gy and gross tumor volume 60 Gy in 28 fractions and oral S-140 mg/m2 twice daily on days 1-14 of a 21-d cycle and intravenous gemcitabine 1000 mg/m2 on days 1 and 8 of a 21-d cycle for eight cycles until disease progression,death,or unacceptable toxicity).In the control group,participants only received concurrent chemoradiotherapy.From April 2020 to November 2021,64 participants were finally enrolled with 34 in the observation group and 30 in the control group.RESULTS Thirty-four patients completed the scheduled course of chemoradiotherapy,while 32(94.1%)received sintilimab plus concurrent chemoradiotherapy with 2 patients discontinuing sintilimab in the observation group.Thirty patients completed the scheduled course of chemoradiotherapy in the control group.Based on the Response Evaluation Criteria in Solid Tumors guidelines,the analysis of the observation group revealed that a partial response was observed in 11 patients(32.4%),stable disease was evident in 19 patients(55.9%),and 4 patients(11.8%)experienced progressive disease;a partial response was observed in 6(20.0%)patients,stable disease in 18(60%),and progressive disease in 6(20%)in the control group.The major toxic effects were leukopenia and nausea.The incidence of severe adverse events(AEs)(grade 3 or 4)was 26.5%(9/34)in the observation group and 23.3%(7/30)in the control group.There were no treatment-related deaths.The observation group demonstrated a significantly longer median overall survival(22.1 mo compared to 15.8 mo)(P<0.05)and progression-free survival(12.2 mo vs 10.1 mo)(P<0.05)in comparison to the control group.The occurrence of severe AEs did not exhibit a statistically significant difference between the observation group and the control group(P>0.05).CONCLUSION Sintilimab plus concurrent chemoradiotherapy was effective and safe for LAPC patients,and warrants further investigation.
文摘To overcome inefficiency in traditional logic programming, a declarative programming language COPS is designed based on the notion of concurrent constraint programming (CCP). The improvement is achieved by the adoption of constraint-based heuristic strategy and the introduction of deterministic components in the framework of CCP. Syntax specification and an operational semantic description are presented.
文摘This paper deals with a comparative study on testing of concurrent programs based on different techniques. The various challenges in testing concurrent programming are: defining test coverage criteria based on control flow, generating control flow graph of nondeterministic programs, investigating the applicability of sequential testing criteria to parallel program testing etc. For solving these issues, some existing techniques are discussed in this study. Various researchers use an intermediate graph called Event Inter Actions Graph (EIAG) to solve the problem of generating the control flow graph of nondeterministic programs. Some researches propose an intermediate graph called Interaction Sequence Testing Criteria (ISTC) approach based on sequence of interactions to solve the problem of test coverage criteria based on control and data flow. Another method to solve the problem of generating test coverage based on control flow graph of nondeterministic programs is constraint based approach. It needs constrained elements to generate test case which includes structural element and constraint. The selection of good test cases has been addressed by test data generation technique. The technique of concurrent path analysis approach is used to solve the problem of applicability of sequential testing criteria to parallel program testing. It reduces the number of combined concurrent test paths. The sequential test paths are combined to form concurrent test path. The Integration and System Test Automation (ISTA) approach is used to solve the problem of applicability of sequential testing criteria to parallel program testing. It is used for automated test case generation and execution by using high-level Petri net is a finite state test model.
文摘Process-oriented design and implementation of concurrent systems has important benefits. However, the inherent complexity of concurrent processes’ communication imposes challenges such as verifying consistency between the process-oriented design and implementation of a concurrent system. To deal with such a challenge, we use Galois connections, Failures and Category Theory to construct a formal framework for designing, implementing, analyzing and verifying consistency of concurrent systems. For the purpose of illustrating the framework, a running concurrent system is designed by Communicating Sequential Processes, implemented by a process-oriented programming language Erasmus.
基金supported by NSC under Grant No.NSC 100-2218-E-009-009MY3 and NSC 100-2218-E-009-010-MY3
文摘mc211vm is a process-level ARM-to-x86 binary translator developed in our lab in the past several years. Currently, it is able to emulate singlethreaded programs. We extend mc211vm to emulate multi-threaded programs. Our main task is to reconstruct its architecture for multi-threaded programs. Register mapping, code cache management, and address mapping in mc2llvm have all been modified. In addition, to further speed up the emulation, we collect hot paths, aggressively optimize and generate code for them at run time. Additional threads are used to alleviate the overhead. Thus, when the same hot path is walked through again, the corresponding optimized native code will be executed instead. In our experiments, our system is 8.8X faster than QEMU (quick emulator) on average when emulating the specified benchmarks with 8 guest threads.
文摘In this paper, we conduct research on the Java multi-thread programming and its further development tendency. Multithreading mechanisms can run several programs at the same time, make the program run effi ciency becomes higher that also can overcome the problem of basic traditional programming language design while its design is the key to the realization of the synchronous thread. Multithreading is a mechanism that allows concurrent execution of multiple instruction stream in the program, each instruction stream is called a thread, independent from each other between each other. Thread is also known as a lightweight process, it have independent execution and process control. Our research starts from the analysis of the corresponding mechanism to enhance the performance that is innovative and meaningful.
文摘Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and on automatically calculating and incorporating stalling times (e.g. caused by lock contention) in a generic graph model. The idea that thread interleavings can be studied with a matrix calculus is novel in this research area. Our sparse matrix representations of the program are manipulated using an extended Kronecker algebra. The resulting graph represents multi-threaded programs similar as CFGs do for sequential programs. With this graph model, we are able to calculate the WCET of multi-threaded concurrent programs including stalling times which are due to synchronization. We employ a generating function-based approach for setting up data flow equations which are solved by well-known elimination-based dataflow analysis methods or an off-the-shelf equation solver. The WCET of multi-threaded programs can finally be calculated with a non-linear function solver.
文摘Program slicing is an effective technique for an- alyzing concurrent programs. However, when a conventional closure-based slicing algorithm for sequential programs is ap- plied to a concurrent interprocedural program, the slice is usually imprecise owing to the intransitivity of interference dependence. Interference dependence arises when a state- ment uses a variable defined in another statement executed concurrently. In this study, we propose a global dependence analysis approach based on a program reachability graph, and construct a novel dependence graph called marking-statement dependence graph (MSDG), in which each vertex is a 2-tuple of program state and statement. In contrast to the conven- tional program dependence graph where the vertex is a state- ment, the dependence relation in MSDG is transitive. When traversing MSDG, a precise slice will be obtained. To en- hance the slicing efficiency without loss of precision, our slic- ing algorithm adopts a hybrid strategy. The procedures con- taining interaction statements between threads are inlined and sliced by the slicing algorithm based on program reachability graphs while allowing other procedures to be sliced as se- quential programs. We have implemented our algorithm and three other representative slicing algorithms, and conducted an empirical study on concurrent Java programs. The exper- imental results show that our algorithm computes more pre- cise slices than the other algorithms. Using partial-order re- duction techniques, which are effective for reducing the size of a program reachability graph without loss of precision, ouralgorithm is optimized, thereby improving its performance to some extent.
基金Supported by the National Natural Science Foundation of China under Grant Nos.60673126 and 90718026, and Intel China Research Center.
文摘Transactional memory (TM) is a new promising concurrency-control mechanism that can avoid many of the pitfalls of the traditional lock-based techniques. TM systems handle data races between threads automatically so that programmers do not have to reason about the interaction of threads manually. TM provides a programming model that may make the development of multi-threaded programs easier. Much work has been done to explore the various implementation strategies of TM systems and to achieve better performance, but little has been done on how to formally reason about programs using TM and how to make sure that such reasoning is sound. In this paper, we focus on the semantics of transactional memory and present a proof-carrying code (PCC) system for reasoning about programs using TM . We formalize our reasoning with respect to the TM semantics, prove its soundness, and use examples to demonstrate its effectiveness.
基金Supported by the Basic Research Foundation of Tsinghua National Laboratory for Information Science and Technology (TNList)the National Natural Science Foundation of China (No. 60573017)the National High-Tech Research and Development (863) Program of China (No. 2006AA01Z198)
文摘Concurrent programs written in a machine level language are being used in many areas but verification of such programs brings new challenges to the programming language community. Most of the studies in the literature on verifying the safety properties of concurrent programs are for high-level languages, specifications, or calculi. Therefore, more studies are needed on concurrency verification for machine level language programs. This paper describes a framework of a Petri net based safety policy for the verification of concurrent assembly programs, to exploit the capability of Petri nets in concurrency modeling. The concurrency safety properties can be considered separately using the net structure and by mixing Hoare logic and computational tree logic. Therefore, more useful higher-level safety properties can be specified and verified.
基金Supported by the National Pre-research Foundation Project of China (513150402)
文摘This paper defines a new relation--little strong happened-before(LSHB) and presents the algorithm for LSHB. Compared with strong happened-before (SHB) and weak happened- before (WHB), LSHB supports keeping-read-result and ensures definite sufficiency of testing. Equivalence partitioning the set of SYN-sequences based on LSHB can efficiently reduce the number of testing SYN-sequences. The case studies prove that LSHB has high practicability.
文摘In disciplined Ada software development and maintenance, an adequate and suitable graphical representation for concurrency is important. To describe rendezvous ordering, tasking andexecuting flow of tasks, p graph--Rendezvous Ordering Graph is presenced in this paper. pgraph is a kind of-hierarchical oriented graph with nodes representing rendezvouses and edgesshowing'ordering relations between rendezvouses as well as flow of tasks. It can be used insoftware understanding, design description and documentation.