交通安全のためのドライバー行動プロファイリング

テレマティクスと機械学習による交通安全の強化
This capstone project explored how software teams can better understand the impact of code changes in complex engineering systems. Modern software systems are deeply interconnected, which means that a small change in one file or function can create effects that are difficult to trace across the broader codebase. In safety-relevant domains, this creates a serious challenge: teams must decide which tests to run after each change, but the context needed to make that decision is often scattered across code, version history, test results, and hardware specifications.
The research focused on building a structured representation of that context using a knowledge graph. Rather than treating files, functions, commits, tests, authors, and hardware interface fields as separate data points, the project connected them into a single relationship-based model. This made it possible to ask higher-level questions about software change, such as which tests are closest to a modified function, which parts of the system have the widest dependency reach, and which paths may carry the highest risk.
The team developed an end-to-end prototype that ingests structural code information, change metadata, and test outcomes into a graph database. The system then uses graph traversal and scoring logic to evaluate the potential impact of a change. Each test receives a priority score based on its proximity to the change, the importance of connected functions, and the breadth of its dependency surface. These scores are translated into clear risk tiers, helping teams distinguish between tests that should run immediately and tests that are unlikely to be affected.
From a research perspective, the project demonstrates how applied AI and knowledge systems can support decision-making in software engineering. Its main contribution is not simply automation, but interpretability. The graph provides a visible, queryable structure behind each recommendation, allowing engineers and stakeholders to understand why a test was prioritized. This matters in complex systems where trust, traceability, and explainability are as important as efficiency.
The results suggest that connected context can improve both speed and confidence in software validation. Across the evaluated scenarios, the system identified a focused set of high-priority tests while showing that a large portion of the broader test suite could be safely deprioritized. While the prototype used synthetic data and would need further validation on production-scale repositories, it offers a promising direction for impact-aware testing, safer software change management, and more intelligent engineering workflows.
接続状態を維持
ミディアムとLinkedInで私たちの旅をフォローしてください。
