cl / moss
CourseLib对MOSS提交分析的支持。
Requires
- cl/course: ^2.3.1
README
此组件支持将提交发送到CourseLib系统,以便在MOSS(软件相似度度量)系统中进行不适当抄袭的检测。
有关使用cl/moss组件的更多详细信息,请参阅http://metlab.cse.msu.edu/courselib/moss。
MOSS组件依赖于cl/course,并为提交系统添加了功能。要安装
composer require cl/moss
composer run cl-installer
cl/moss组件安装了一个分析类,可以附加到作业提交。以下是将MOSS分析添加到提交的示例
$submission = $assignment->submissions->add_program("project2program", "Project 2 Program");
$moss = $submission->add_analysis(new \CL\MOSS\MossAnalysis());
$moss->type = "zip";
$moss->user = "123456789";
$moss->language = "cc";
$moss->include = "#CanadianExperience/MachineLib.*\\.(cpp|h)$#i";
$moss->exclude = "#(App|MainFrm|stdafx|targetver|XmlNode|" .
"resource|initialize|DoubleBufferDC|MachineLib|" .
"Machine|MachineFactory|MachineStandin|MachineDlg|" .
"Actor|ActorFactory|AnimChannel|AnimChannelAngle|AnimChannelPoint|".
"CanadianExperience|HaroldFactory|ImageDrawable|Picture|" .
"PictureFactory|PictureObserver|PolyDrawable|RotatedBitmap|" .
"SpartyFactory|Timeline|TimelineDlg|ViewEdit|ViewTimeline|" .
"HeadTop|Drawable|Polygon|WAVFileReader|WavChannel|WavPlayer)\\.(cpp|h)$#i";
// $moss->limit = 3;
参数
##$moss->type
类型属性设置提交类型。目前唯一支持的类型是 'zip',其中作业以.zip格式提交。
##$moss->user
这是由MOSS分配的用户ID。MOSS ID通常分配给部门或单位,您应咨询系统管理员以查看是否已有MOSS ID。有关如何请求MOSS ID的详细信息,请参阅MOSS主页。MOSS ID通常是9位数。
##$moss->language
语言属性表示提交的计算机语言。请注意,并非所有MOSS语言都似乎可以正常工作,但指定的列表包括
"c", "cc", "java", "ml", "pascal", "ada", "lisp", "scheme", "haskell", "fortran", "ascii", "vhdl", "perl", "matlab", "python", "mips", "prolog", "spice", "vb", "csharp", "modula2", "a8086", "javascript", "plsql", "verilog"
##$moss->include
include属性设置为正则表达式,指定将发送到MOSS的文件。由于项目通常包含除了源代码之外的其他文件,因此此表达式通常用于根据文件扩展名选择适当的文件。
##$moss->exclude
exclude属性设置为正则表达式,指定将排除发送到MOSS的文件。这对于排除提供的代码文件或自动生成的文件非常有用。排除是在包含之后完成的。
##$moss->limit
limit属性限制将发送到MOSS的提交数量。将此限制设置为较小的数字在第一次获取设置正确时非常有用,因为它允许更少的文件被解析和发送,直到包含和排除设置正确。
附加属性
##$moss->atLeast
默认情况下,MOSS分析链接仅对Member::INSTRUCTOR或更高级别的成员可用。可以使用atLeast属性更改此设置。如果将运行MOSS的任务委托给助教,则这非常有用。
$moss->atLeast = Member::TA;
##$moss->experimental
如果将实验属性设置为true,则将指定MOSS实验服务器,该服务器表示具有最新版本的分析软件,尽管可能存在一些额外的错误。
建议
MOSS有时可能会因为负载过大而变得无响应,可能会拒绝大量提交或只是在大量提交上失败。对MOSS的第一个请求将返回“是”、“否”或空字符串。只有响应为“是”才会允许分析继续。通常,“否”响应表示指定的语言不受支持。空字符串是一般不可用的指标。
许可证
版权所有2016-2018密歇根州立大学
Cirsim在MIT许可证下发布。
由Charles B. Owen编写和维护