Skip to content

Enhance LLM integration and improve documentation and functionality#20

Open
roshansamantaray wants to merge 42 commits intoCROSSINGTUD:mainfrom
roshansamantaray:main
Open

Enhance LLM integration and improve documentation and functionality#20
roshansamantaray wants to merge 42 commits intoCROSSINGTUD:mainfrom
roshansamantaray:main

Conversation

@roshansamantaray
Copy link
Collaborator

This pull request introduces several improvements to project configuration, documentation, and LLM integration. The most significant changes include upgrading the Java version and enabling advanced null analysis, expanding IDE and build tool configuration for better compatibility, providing a comprehensive new README, and adding support for insecure Java code example generation via LLM. The changes are grouped below by theme.

Project configuration and build improvements:

  • Upgraded Java version from 1.8 to 21 in .classpath and .settings/org.eclipse.jdt.core.prefs, enabling modern language features and stricter null analysis. [1] [2]
  • Enhanced Eclipse and Maven integration by adding new .classpath entries for generated sources, test resources, and annotation processing.
  • Added resource filters to .project to ignore node_modules, .git, and Java language server artifacts, reducing IDE clutter.
  • Introduced .vscode/settings.json for automatic null analysis and Python environment configuration, improving cross-language development experience.

Documentation and developer experience:

  • Replaced the old README.md with a comprehensive guide covering project structure, prerequisites, build/run instructions, CLI usage, LLM setup, output directories, and test commands.
  • Added .env.example for LLM API key and backend configuration, clarifying required environment variables for OpenAI and Gateway integration.

LLM integration and code generation:

  • Added llm/llm_code_writer_insecure.py, a Python script for generating insecure Java code examples from CrySL rules using OpenAI or Gateway LLM backends, including robust prompt construction and backend selection logic.
  • Provided a new run configuration .run/CrySLDoc Generation.run.xml for IDE-based execution of the documentation generator with LLM and template paths preconfigured.

Project configuration upgrades:

  • Upgraded Java version to 21 and enabled advanced null analysis and annotation processing in .classpath and .settings/org.eclipse.jdt.core.prefs. [1] [2]
  • Added new source and annotation processing entries to .classpath for generated sources and test resources.
  • Added resource filters in .project to ignore common folders like node_modules and .git.
  • Added .vscode/settings.json for Java null analysis and Python environment configuration.

Documentation improvements:

  • Replaced README.md with a detailed setup, usage, and troubleshooting guide for Java and Python components, LLM integration, and CLI options.
  • Added .env.example for LLM API key and backend configuration.

LLM and code generation enhancements:

  • Added llm/llm_code_writer_insecure.py for generating insecure Java code examples via LLM, with backend selection and prompt logic.
  • Added .run/CrySLDoc Generation.run.xml for IDE run configuration with LLM and template paths.

Roshan Samantaray and others added 30 commits May 20, 2025 12:51
…M explanations, and add CLI toggle for generated content
…provement

Feature/predicate tree improvement
roshansamantaray and others added 12 commits March 4, 2026 14:16
… README and environment configurations, and remove deprecated files
…steps for LLM features and API key configuration
…n example generation, update README, and implement rate limiting for gateway requests.
…M features, update documentation, and add tests for cache directory resolution
…model in code, and improve cache file deletion script to handle disabled explanations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant