In this paper, we introduce a source code plagiarism detection method, named WASTK (Weighted Abstract syntax Tree Kernel), for computer science education. Different from other plagiarism detection methods, WASTK takes...
详细信息
In this paper, we introduce a source code plagiarism detection method, named WASTK (Weighted Abstract syntax Tree Kernel), for computer science education. Different from other plagiarism detection methods, WASTK takes some aspects other than the similarity between programs into account. WASTK firstly transfers the source code of a program to an abstract syntax tree and then gets the similarity by calculating the tree kernel of two abstract syntax trees. To avoid misjudgment caused by trivial code snippets or frameworks given by instructors, an idea similar to TF-IDF (Term Frequency-Inverse Document Frequency) in the field of information retrieval is applied. Each node in an abstract syntax tree is assigned a weight by TF-IDF. WASTK is evaluated on different datasets and, as a result, performs much better than other popular methods like Sim and JPlag.
Model checking has been extensively used to verify various systems. However, this usually has been done by experts who have a good understanding of model checking and who are familiar with the syntax of both modelling...
详细信息
Model checking has been extensively used to verify various systems. However, this usually has been done by experts who have a good understanding of model checking and who are familiar with the syntax of both modelling and property specification languages. Unfortunately, this is not an easy task for nonexperts to learn description languages for modelling and formal logics/languages for property specification. In particular, property specification is very daunting and error-prone for nonexperts. In this paper, we present a methodology to facilitate probabilistic model checking for nonexperts. The methodology helps nonexpert users model their systems and express their requirements without any knowledge of the modelling and property specification languages.
The modeling language ML-Rules allows specifying and simulating complex systems biology models at multiple levels of organization. The development of such simulation models involves a wide variety of simulation experi...
详细信息
The modeling language ML-Rules allows specifying and simulating complex systems biology models at multiple levels of organization. The development of such simulation models involves a wide variety of simulation experiments and the replicability of generated simulation results requires suitable means for documenting simulation experiments. Embedded domain-specific languages, such as SESSL, cater to both requirements. With SESSL, the user can integrate diverse simulation experimentation methods and third-party software components into an executable, readable simulation experiment specification. A newly developed SESSL binding for ML-Rules exploits these features of SESSL, opening up new possibilities for executing and documenting simulation experiments with ML-Rules models.
The article focuses on effective programming language design. It states that computer language Eiffel is best described as a software development method that addresses the full software lifecycle. It mentions that the...
详细信息
The article focuses on effective programming language design. It states that computer language Eiffel is best described as a software development method that addresses the full software lifecycle. It mentions that the design and evolution of Eiffel have come upon a number of principles including design by contract, powerful and expressive language construction, and acceptance of the inevitability of evolution. It adds the resemblances of Eiffel to Ada in terms of syntax.
Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone...
详细信息
Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone process for modern high-level programminglanguages. What analysis designers need is a principled method for navigating the gap between semantics and analytic models: analysis designers need a method that tames the interaction of complex languages features such as higher-order functions, recursion, exceptions, continuations, objects and dynamic allocation. We contribute a systematic approach to program analysis that yields novel and transparently sound static analyses. Our approach relies on existing derivational techniques to transform high-level language semantics into low-level deterministic state-transition systems (with potentially infinite state spaces). We then perform a series of simple machine refactorings to obtain a sound, computable approximation, which takes the form of a non-deterministic state-transition systems with finite state spaces. The approach scales up uniformly to enable program analysis of realistic language features, including higher-order functions, tail calls, conditionals, side effects, exceptions, first-class continuations, and even garbage collection.
暂无评论