[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Plagiary.
Having programmed assembly for years, I can safely state the
following:
1. The assembly language code presented as "evidence" of plagiary on Chen
Zhixing's web site (www.wulu.com) are indeed, in my professional opinion as
a software developer, plagiarisms of each other. I cannot see how the body
of code for each plagiary presented could not have been translated or copied
directly. The chance of independently similar paths of that nature occuring
in two programmer's separately derived code seems minute for the size of the
samples presented.
2. I did not, however, independently verify that the supposed "plagiarisms"
indeed came from the object files of the accussed plagiary's, so I cannot be
sure of the validity of the web site examples until I check or it is
verified by an independent source.
3. I also cannot be sure that the examples shown did not come from
different versions of "library" software shared by all programs involved
(handtalk and the accused plagiarisms).
Nevertheless, I, who was doubtful that such plagiarism existed in such
quantity, now hold the opinion that plagiarism did exist, and it was rampant
and well engineered by people who either:
A. Had good assembly language skills and reverse engineering capability.
B. Had translation software to structurally change assembly to a ugly
version of C that only handles logical flow, and good reverse engineering
capability.
For people who are unaware of how such a program could be plagiarised, let
me state that it is a simple matter of disassembling the program, extracting
the correct code (that's the tricky part--and as we can see from Chen
Zhixing web site, the plagiarizers in one case even extracted dead
code--which most compilers would optimize away, but assemblers would leave),
creating a new interface around the code, masking your plagiarism by doing
translations upon the code, and the reassembling and debugging. It takes
good knowledge of assembly and practical experience at reverse-engineering.
It is a high effort process, but is well worth the reward, considering the
incredibly high effort cost of creating your own competition-winning go
program. There is almost guaranteed reward--you should place at least 2nd
or third in major competitions. It makes sense from an economic standpoint.
Furthermore, I'd have to say that this is probably not an issue of Go
programmers gone bad, this is a case of people targetting the Go programming
environment as a good place to make money with plagiary. It is probably one
of the best environments for someone wanting to make a quick buck to do so
unscrupulously until now (since we've become more plagiary aware and
paranoid). It is extremely fortunate for the community at large that Chen
Zhixing to have caught this plagiary (provided that items 2 and 3 above are
not the issue), as it is likely this could have gone on for years and years.
Credentials:
Take or leave my opinions, but I must speak my professional opinion of the
examples on Chen Zhixing's web page. I write assembly code for a living. I
have known x86 assembly for at least 10 years now, and I have well over
100,000 lines of code that I've written in various assemblys, of which a
good portion have been x86 (Before anybody says LOC isn't a good metric, let
me wholeheartedly agree with you, however it is a metric that gives you some
rough idea of how much assembly experience I have). I'd have a lot more, if
I wasn't also writing a lot of high level code as well.
I am Scott Dossey
sdossey@xxxxxxxxxxxxxxxxx
Hi/fn is a daughter company of Stac Electronics. We make hardware
compression and encryption accelerators, as well as highly optimized
assembly and C libraries for compression and encryption. Our products are
used in most of the worlds high end networking equipment, and in most tape
backup systems (almost anything that uses the QIC standard, which Stac
developed). I've written about half of the software libraries that Hi/fn
sells.
On the negative side:
I'm only 23 years old and I've been with Hi/fn for 3 years and NO OTHER
SOFTWARE COMPANY. (yes, I learned assembly at a very young age and I have
only been programming it professionally for three years). I have no
college degree yet.
I cannot unequivocably say that there was plagiarism, because of the
aforementioned issues 2 and 3.