If you would like to add to the current Bayes network facilities in Weka, you might consider one of the following possibilities.

- Implement more search algorithms, in particular,
- general purpose search algorithms (such as an improved implementation of genetic search).
- structure search based on equivalent model classes.
- implement those algorithms both for local and global metric based search algorithms.
- implement more conditional independence based search algorithms.

- Implement score metrics that can handle sparse instances in order to allow
for processing large datasets.
- Implement traditional conditional independence tests for conditional
independence based structure learning algorithms.
- Currently, all search algorithms assume that all variables are discrete.
Search algorithms that can handle continuous variables would be interesting.
- A limitation of the current classes is that they assume that there
are no missing values. This limitation can be undone by implementing score metrics
that can handle missing values.
The classes used for estimating the conditional probabilities need to be updated
as well.
- Only leave-one-out, k-fold and cumulative cross-validation are implemented.
These implementations can be made more efficient and other cross-validation methods
can be implemented, such as Monte Carlo cross-validation and bootstrap cross
validation.
- Implement methods that can handle incremental extensions of the data set for
updating network structures.

And for the more ambitious people, there are the following challenges.

- A GUI for manipulating Bayesian network to allow user intervention for
adding and deleting arcs and updating the probability tables.
- General purpose inference algorithms built into the GUI to allow user
defined queries.
- Allow learning of other graphical models, such as chain graphs,
undirected graphs and variants of causal graphs.
- Allow learning of networks with latent variables.
- Allow learning of dynamic Bayesian networks so that time series data can be handled.