This paper suggests a new algorithm for detecting the plagiarism among a set of source codes, constrained to be functionally equivalent, such are submitted for a programming assignment or for a programming contest problem. The typical algorithms largely exploited up to now are based on Greedy-String Tiling, which seeks for a perfect match of substrings, and analysis of similarity between strings based on the local alignment of the two strings. This paper introduces a new method for detecting the similar interval of the given programs based on an adaptive similarity matrix, each entry of which is the logarithm of the probabilities of the keywords based on the frequencies of them in the given set of programs. We experimented this method using a set of programs submitted for more than 10 real programming contests. According to the experimental results, we can find several advantages of this method compared to the previous one which uses fixed similarity matrix(+1 for match, -1 for mismatch, -2 for gap) and also can find that the adaptive similarity matrix can be used for detecting various plagiarism cases.
Robot system is widely used in unmanned exploration or investigation because it can be dangerous or impossible to explore a certain unknown area such as distant planet. For this purpose, highly intelligent single robot systems are generally used. But thinking of disabled situation, a lot of swarm-bots can be alternative to a single highly intelligent robot. This paper reports an implementation of swarm-bots on Player/Stage platform using Pyro. The swarm-bots implemented in this paper searching for a set of objects in an area with irregular barriers and bringing them to the home location where they start. A simple map construction algorithm is devised and implemented. According to the implementation, the swarm-bots can effectively collect the objects in the exploration area.
Program similarity checking is an important application of programming education fields. Local alignment is one of the typical algorithms for comparing two strings. However local alignment based comparison does not reflect the weights of program keywords. This paper introduces an adaptive local alignment which reflects the frequencies of keywords to the similarity matrix. We experimented this method using a set of programs submitted to more than 10 real programming contests. The experimental result shows that the adaptive local alignment is more robust than greedy-string-tiling adopted in JPlag.
Recently, the social media such as Digg and Slashdot reflect current social trends or major contemporary issues, on which users can publish articles and write comments. The users of such social media typically want to figure out the current issues on which many users are interested. Though these social media provide an abundance of various opinions, it is inconvenient for a user to take a casual glance at the current issues. In this paper, we propose a smart visualizing system IssueGalaxy that extracts current issues and visualizes with the related articles in a single screen shot. The IssueGalaxy consists of several suns, representing current major issues, with a set of planets around them, representing the related articles. Since the IssueGalaxy is presented in a single screen, it is helpful in figuring out the importance and the relations of the current issues of the target site. To test the usefulness of IssueGalaxy, we implemented a prototype and applied it on a set of articles published in an Internet forum site. According to this simple experiment, IssueGalaxy is revealed to helpful for understanding the relationships among the current issues.
This article presents an enhanced programming online judge system that not only evaluates the correctness of the submitted program code but also detects its code quality. Both results of the correctness and quality detection are responded through web once the compilation, the execution and the quality detection of the submitted source code have been finished. We take advantage of SonarQube to provide code quality detection in our online judge system named neoESPA. Comparing with other online judges, our proposed work has significant advantages in helping both the instructor to discover the weaknesses in the lecture and the students to locate their mistakes efficiently.
The ZG-machine is a space-efficient G-machine, which exploits a simple encoding method, called tag-forwarding, to compress the heap structure of graphs. Experiments on the ZG-machine without garbage collection shows that the ZG-machine saves 30% of heap space and the run-time overhead is no more than 6% than the G-machine. This paper presents the results of further experiments on the ZG-machine with the garbage collector. As a result, the heap-residency of the ZG-machine decreases by 34% on average although the run-time increases by 34% compared to the G-machine. The high rate of the run-time overhead of the ZG-machine is incurred by the garbage collector. However, when the heap size is 7 times the heap-residency, the run-time overhead of the ZG-machine is no more than 12% compared to the G-machine. With the aspect of reduced heap-residency, the ZG-machine may be useful in memory-restricted environments such as embedded systems. Also, with the development of a more efficient garbage collector, the run-time is expected to decrease significantly.
In this paper, we propose a system for detecting software plagiarism using a birthmark. The birthmark is representative features of a program, which can be used to identify the program. We use a set of frequency of APIs used in a program as its birthmark. The proposed system consists of three components. First, it extracts the frequency of APIs employed in a program. Next, it generates the program birthmark using a set of frequency of APIs and weights to APIs to extract unique features of the program. Finally, it decides the plagiarism based on the cosine similarity between the birthmarks. Through extensive experiments, it was found that the proposed system can provide 97.2% of precision and 95.7% of recall in plagiarism detection.