Search

Boa for Software Analytics

Boa is a domain-specific language and infrastructure that eases mining software repositories. Boa's infrastructure leverages distributed computing techniques to execute queries against hundreds of thousands of software projects very efficiently.

Website: http://boa.cs.iastate.edu/

Analyzing software changes and versions for bug detection and diagnosis

Software development is inherently incremental. Nowadays, many software companies adopt an agile process and a shorter release cycle, where software needs to be delivered faster but with quality assurances, and many versions of software may co-exist in the field and need to be maintained. While faster releases do not increase the user's tolerance of bugs, it is challenging to correctly introduce a change on top of existing programs.

Dynamic analysis on code fragments

In many software engineering environments, software developers would like to understand, test, debug and verify a relatively small fragment of code instead of the entire program. However, currently available program analysis and testing tools only work on programs that are whole, in the sense that they can be compiled and executed as a whole program.

SERL (Software Engineering Research Laboratory)

Friday, February 14, 2020 - 1:10pm to 2:00pm

Mikaela CashmanPresenter: Mikaela Cashman

Title: The Software Engineer’s Role in Predictive Biology 

Abstract: In the age of big data, predictive biology has scaled dramatically creating a community of biologists and bioinformaticians with a need for strong computational power.  This talk will introduce a large open-source system aimed to meet these goals known as the Department of Energy’s Systems Biology Knowledgebase (KBase, http://kbase.us).  KBase includes over 200 applications in the areas of genome assembly and annotation, sequence alignment, metabolic modeling, expression and more.  There is also support for external tool integration through an SDK.  KBase is designed to be open and collaborative where users can utilize public datasets, import custom data, create workflows built upon Jupyter notebooks, and share these workflows with others.