IEEE Military Communications Conference
28 October – 1 November 2024 // Washington, DC, USA
C5I Technologies for Military and Intelligence Operations Today and Tomorrow

WS-13: Workshop on the Applications of Artificial Intelligence in Code Analysis

WS-13: Workshop on the Applications of Artificial Intelligence in Code Analysis

Organizers:  Dr. Andy Mahyari (Chair),

                     Dr. Adam Bryant

                     Dr. Scott Moore



Code analysis plays a crucial role in ensuring the security and reliability of software systems by identifying and mitigating vulnerabilities. In recent years, significant advancements have been made in code analysis techniques, tools, and methodologies to address emerging challenges posed by complex software architectures and evolving threat landscapes. This workshop explores various aspects of code analysis, ranging from the detection of cross-language and cross-architecture bugs to the application of AI in formal proof construction and vulnerability detection. The proposed topics are as follows:


Detection of Cross-Language and Cross-Architecture Bugs: With the increasing prevalence of multi-language and multi-platform software development, the detection of cross-language and cross-architecture bugs has become a pressing concern. Modern code analysis tools leverage advanced static and dynamic analysis techniques to identify and mitigate such vulnerabilities, ensuring the compatibility and robustness of software across different environments.


Advanced Vulnerability-Finding Tools and Methodologies: The development of sophisticated vulnerability finding tools, frameworks, and methodologies has significantly enhanced the effectiveness of code analysis processes. These tools leverage techniques such as symbolic execution, fuzzing, and taint analysis to uncover vulnerabilities in source code, enabling developers to proactively address security threats before deployment.


Vulnerability Correlation in Source Code: Analyzing vulnerabilities and making inferences from source code patterns and correlations is essential for identifying potential security risks. Advanced code analysis tools utilize machine learning algorithms and data mining techniques to correlate vulnerabilities across codebases, enabling developers to prioritize and address critical security issues efficiently.


Team and Collaborative Bug Finding: Effective collaboration among development teams is crucial for identifying and mitigating software vulnerabilities. Collaborative bug finding platforms and tools facilitate communication and knowledge sharing among team members, enabling them to collectively identify and address security threats in a timely manner.


Shifting Vulnerability Finding to Earlier Design Stages: To improve software security, it is essential to shift vulnerability-finding processes to earlier stages of the software development lifecycle. Adopting secure coding practices, conducting security reviews during design phases, and integrating automated code analysis tools into development workflows can help identify and mitigate vulnerabilities before they escalate into critical security risks.


Characterizing Highly Complex Composable Vulnerabilities: Modern software systems often comprise highly complex and composable vulnerabilities that pose significant challenges for traditional code analysis techniques. Advanced vulnerability characterization methods, such as attack surface analysis and dependency mapping, enable developers to gain insights into the structure and behavior of complex vulnerabilities, facilitating more effective mitigation strategies.


Emerging Vulnerabilities from LLM-Generated Code: The emergence of large language models (LLMs) has introduced new challenges in code analysis, particularly regarding the detection of vulnerabilities in LLM-generated or LLM-modified code. Novel approaches leveraging AI and machine learning are being developed to identify and mitigate vulnerabilities arising from the use of LLMs in software development.


Formal Proofs for Software Assurance: Formal proof techniques provide a rigorous approach to ensuring software correctness and security. By formally verifying code properties and correctness assertions, developers can achieve a higher level of assurance in software systems. Advanced formal proof frameworks and methodologies support automated theorem proving and model checking, enabling developers to verify complex software systems efficiently.


AI Applications in Formal Proof Construction and Repair: Artificial intelligence (AI) techniques are increasingly being applied to formal proof construction and repair processes. AI-powered tools assist developers in generating and validating formal proofs, automating tedious proof construction tasks, and identifying and repairing inconsistencies in formal verification processes.


Designing Proof-Friendly Software Systems: Designing software systems that are amenable to formal proof techniques is essential for ensuring the scalability and effectiveness of formal verification processes. Methods for designing proof-friendly software architectures and reducing the proof repair workload are being developed to streamline the formal verification process and enhance software security.



Advancements in code analysis techniques, tools, and methodologies are essential for addressing evolving software security challenges. By leveraging advanced static and dynamic analysis techniques, collaborating effectively within development teams, and integrating AI-powered solutions, developers can identify and mitigate vulnerabilities more effectively, ensuring the security and reliability of modern software systems.