News Column

Patent Application Titled "Methods for Detecting Plagiarism in Software Code Implementing a Design Pattern" Published Online

July 3, 2014



By a News Reporter-Staff News Editor at Computer Weekly News -- According to news reporting originating from Washington, D.C., by VerticalNews journalists, a patent application by the inventors Asadullah, Allahbaksh Mohammedali (Hubli, IN); Bhat, Vasudev Damodar (Hubli, IN); Padmanabhuni, Srinivas (Bangalore, IN); Muddu, Basava Raju (Bangalore, IN); Stern, Ilan (Santiago, CL), filed on November 7, 2013, was made available online on June 19, 2014.

The assignee for this patent application is Infosys Limited.

Reporters obtained the following quote from the background information supplied by the inventors: "Plagiarism is, in general, the act of copying work authored by another, including writings or, particularly, code, and willfully failing to attribute or acknowledging the original author. Plagiarism is easier to carry out and easier to hide, than it has ever been before because of the increasing ubiquity of information and the diversity of information sources available through the internet. To that end, several tools have been developed to detect plagiarism in writings or software code.

"Extant tools or techniques for the detection of plagiarism in software code generally operate by means of comparing or matching suspect source code file by file. In some instances, a source code file may be preprocessed or converted to some intermediate form and a matching algorithm that maps the source file to a target file may be applied thereafter. The output of such an operation may generally take the form of a number or a percentage that indicates a degree of plagiarism in the source file.

"However, such an approach, absent more, may be unable to efficiently detect plagiarism that is intelligently distributed across multiple source files and obscured by exploiting the structure of the software code. For example, distributing plagiarized material across multiple files, classes or functions in the body of the source code may successfully serve to circumvent a plagiarism detection method using a percentage or threshold based output metric by limiting copied material in each of the compared source files to a level below that flagged by the tool. One such technique may involve the obscuring of plagiarized source code by adapting the plagiarized code into object oriented code through the adoption of one or more software design patterns into the code files.

"A method for plagiarism detection that can address such a scenario is therefore needed."

In addition to obtaining background information on this patent application, VerticalNews editors also obtained the inventors' summary information for this patent application: "Embodiments of the present invention address the detection of plagiarized software code in software code files, where the plagiarized code incorporates the use of one or more software design patterns.

"Such detection may be performed, in accordance with an exemplary embodiment, by a computing device comprising one or more processors, a memory coupled to the one or more processors and programmed instructions in the memory whereby the one or more processors are configured to execute a method of plagiarism detection in software code implementing at least one design pattern. Such a method may comprise receiving a first file comprising the software code, and a second file comprising the at least one design pattern implemented in the software code, the software code comprising at least one function and at least one class. The method may additionally comprise identifying at least one function call to a function in a class implementing the design pattern in the software code, and resolving the at least one identified function call, wherein resolving comprises creating a representation of the called function in the class containing the function call, wherein the function call and the function to which it corresponds is characteristic of the design pattern identified by means of the second file; and the created representation implements program logic associated with at least one function implementing the design pattern, including the called function; and replacing the function call with the representation of the called function in the first file. The method may additionally comprise comparing the modified source code file with a target file in some embodiments of the present invention.

"In an additional embodiment of the present invention, a non-transitory computer readable medium is disclosed receiving a first file comprising the software code, and a second file comprising the at least one design pattern implemented in the software code, the software code comprising at least one function and at least one class; identifying at least one function call to a function in a class implementing the design pattern in the software code; and resolving the at least one identified function call, wherein resolving comprises: creating a representation of the called function in the class containing the function call, wherein: the function call and the function to which it corresponds is characteristic of the design pattern identified by means of the second file; and the created representation implements program logic associated with at least one function implementing the design pattern, including the called function; and replacing the function call with the representation of the called function in the first file.

"This technology provides a number of advantages including providing more effective ways for the detection of copied software code by normalizing or de-patterning software code.

BRIEF DESCRIPTION OF THE DRAWINGS

"FIG. 1 is a block diagram of an exemplary environment which comprises an exemplary computing device for detecting plagiarism, in accordance with an embodiment.

"FIG. 2 is a schematic representation of the de-patterning of software code, in accordance with an embodiment.

"FIG. 3 is a flowchart of a method for detection of clones in software code comprising a design pattern, in accordance with an embodiment of the present invention.

"FIG. 4 is a flowchart of a method of detecting plagiarism in a de-patterned code file with reference to a compared target file."

For more information, see this patent application: Asadullah, Allahbaksh Mohammedali; Bhat, Vasudev Damodar; Padmanabhuni, Srinivas; Muddu, Basava Raju; Stern, Ilan. Methods for Detecting Plagiarism in Software Code Implementing a Design Pattern. Filed November 7, 2013 and posted June 19, 2014. Patent URL: http://appft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.html&r=212&p=5&f=G&l=50&d=PG01&S1=20140612.PD.&OS=PD/20140612&RS=PD/20140612

Keywords for this news article include: Software, Infosys Limited.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC


For more stories covering the world of technology, please see HispanicBusiness' Tech Channel



Source: Computer Weekly News


Story Tools






HispanicBusiness.com Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters