Skip to content

ymasory/alacs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alacs - Bug finder for Scala

NOTE Alacs is not currently being developed by Yuvi, as all my effort has shifted to qualac. However, 95% of the code base here is ready to add bug rules. In fact there are alaready several in place. If you'd like to work on Alacs, shoot me an email and I'd be glad to help.

Goals

The aim is to provide a tool for finding defects in Scala tools by analyzing ASTs in compilation. Think FindBugs for Scala.

Try it

Alacs is not ready for serious use, but feel free to try it out.

sbt

Modify your Project.scala thusly:

import sbt._
class Project(info: ProjectInfo) extends DefaultProject(info) with AutoCompilerPlugins {
  val scalaToolsSnapshots = "Scala-Tools Maven2 Snapshots Repository" at "http://scala-tools.org/repo-snapshots"
  val alacs = compilerPlugin("com.github.alacs" %% "alacs" % "0.0.0-SNAPSHOT")
}

CLI

  • Build the project with sbt package on the command line.
  • scalac -Xplugin:/path/to/alacs/target/scala_2.8.1/alacs_2.8.1-0.0.0-SNAPSHOT.jar -Xplugin-require:alacs foo.scala

IDEs

There is no special support for IDEs (Eclipse, IntelliJ, Netbeans) yet. For all I know it's really trivial to use compiler plugins with them.

Resources

The scala-corpus is a large collection of Scala code intended for testing Alacs.

Contributing

There are two ways to contribute to Alacs:

  • Submitting suggestions for bug reports. You can do this on the wiki.
  • Writing code (e.g., submitting patches, joining the team, etc.).

Thank you for helping improve Alacs!

About

Bug finder for Scala

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages