After describing the characteristics of programming paradigm, this paper introduces the approach of code component composition reuse in detail, proposes and discusses viewpoint that code component composition reuse is...After describing the characteristics of programming paradigm, this paper introduces the approach of code component composition reuse in detail, proposes and discusses viewpoint that code component composition reuse is a kind of new programming paradigm. This paper also specifies the characteristics of this new programming paradigm in detail, and points out some issues that must be resolved for using this new programming paradigm.展开更多
In order to effectively program Parallel Computing on NOW (Network of workstation),users must be able to evaluate how well the system performs for a given application.In this paper,we present an framework that can be...In order to effectively program Parallel Computing on NOW (Network of workstation),users must be able to evaluate how well the system performs for a given application.In this paper,we present an framework that can be used to evaluate tree structured computing on NOW.Based on this framework,we derive a model for the famous parallel programming paradigm divide and conquer.We discuss how this model can be used to evaluate performance and how it can be used to restructure the application to improve performance.展开更多
Gamma is a kernel programming language with an elegant chemical reaction metaphor in whichprograms are described in terms of multiset rewriting. Gamma formalism allows one to describe analgorithm without introducing a...Gamma is a kernel programming language with an elegant chemical reaction metaphor in whichprograms are described in terms of multiset rewriting. Gamma formalism allows one to describe analgorithm without introducing artificial sequentiality and leads to the derivation of a parallel solution to agiven problem naturally. However, the difficulty of incorporating control strategies makes Gamma not onlyhard for one to define any sophisticated approaches but also impossible to reach a decent level of efficiencyin any direct implementation. Recently, a higherorder multiset programming paradigm, named higher--order Gamma, is introduced by Metayer to alleviate these problems. In this paper, we investigate the possibility of implementing higherorder Gamma on Maspar, a massively data parallel computer. The results showthat a program written in higher--order Gamma can be transformed naturally toward an efficientimplementation on a real parallel machine.展开更多
Fault localization is to identify faulty program elements.Among a large number of fault localization approaches in the literature,coverage-based fault localization,especially spectrum-based fault localization(SBFL),ha...Fault localization is to identify faulty program elements.Among a large number of fault localization approaches in the literature,coverage-based fault localization,especially spectrum-based fault localization(SBFL),has been intensively studied due to its effectiveness and lightweightness.Despite the rich literature,almost all existing fault localization approaches and studies have been conducted on imperative programming languages such as Java and C,leaving a gap in other programming paradigms.In this paper,we aim to study fault localization approaches for the functional programming paradigm,using the Haskell language as a representative.To the best of our knowledge,we build up the first dataset on real Haskell projects,including both real and seeded faults.The dataset enables the research of fault localization for functional languages.With it,we explore fault localization techniques for Haskell.In particular,as is typical for SBFL approaches,we study methods for coverage collection and formulae for suspiciousness score computation,and carefully adapt these two components to Haskell considering the language features and characteristics,resulting in a series of adaption approaches.Moreover,we design a learning-based approach and a transfer learning based approach to take advantage of data from imperative languages.Both approaches are evaluated on our dataset to demonstrate the promises of thedirection.展开更多
文摘After describing the characteristics of programming paradigm, this paper introduces the approach of code component composition reuse in detail, proposes and discusses viewpoint that code component composition reuse is a kind of new programming paradigm. This paper also specifies the characteristics of this new programming paradigm in detail, and points out some issues that must be resolved for using this new programming paradigm.
文摘In order to effectively program Parallel Computing on NOW (Network of workstation),users must be able to evaluate how well the system performs for a given application.In this paper,we present an framework that can be used to evaluate tree structured computing on NOW.Based on this framework,we derive a model for the famous parallel programming paradigm divide and conquer.We discuss how this model can be used to evaluate performance and how it can be used to restructure the application to improve performance.
文摘Gamma is a kernel programming language with an elegant chemical reaction metaphor in whichprograms are described in terms of multiset rewriting. Gamma formalism allows one to describe analgorithm without introducing artificial sequentiality and leads to the derivation of a parallel solution to agiven problem naturally. However, the difficulty of incorporating control strategies makes Gamma not onlyhard for one to define any sophisticated approaches but also impossible to reach a decent level of efficiencyin any direct implementation. Recently, a higherorder multiset programming paradigm, named higher--order Gamma, is introduced by Metayer to alleviate these problems. In this paper, we investigate the possibility of implementing higherorder Gamma on Maspar, a massively data parallel computer. The results showthat a program written in higher--order Gamma can be transformed naturally toward an efficientimplementation on a real parallel machine.
文摘Fault localization is to identify faulty program elements.Among a large number of fault localization approaches in the literature,coverage-based fault localization,especially spectrum-based fault localization(SBFL),has been intensively studied due to its effectiveness and lightweightness.Despite the rich literature,almost all existing fault localization approaches and studies have been conducted on imperative programming languages such as Java and C,leaving a gap in other programming paradigms.In this paper,we aim to study fault localization approaches for the functional programming paradigm,using the Haskell language as a representative.To the best of our knowledge,we build up the first dataset on real Haskell projects,including both real and seeded faults.The dataset enables the research of fault localization for functional languages.With it,we explore fault localization techniques for Haskell.In particular,as is typical for SBFL approaches,we study methods for coverage collection and formulae for suspiciousness score computation,and carefully adapt these two components to Haskell considering the language features and characteristics,resulting in a series of adaption approaches.Moreover,we design a learning-based approach and a transfer learning based approach to take advantage of data from imperative languages.Both approaches are evaluated on our dataset to demonstrate the promises of thedirection.