Systems and methods for a database of software artifacts

A database and product technology, applied in software maintenance/management, electronic digital data processing, program files, etc., can solve problems such as incomplete testing and deployment, lack of

Inactive Publication Date: 2017-03-22
CHARLES STARK DRAPER LABORATORY
View PDF5 Cites 3 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Initial planning, implementation, documentation, testing, and deployment are often incomplete and always lack desired features or contain defects

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Systems and methods for a database of software artifacts
  • Systems and methods for a database of software artifacts
  • Systems and methods for a database of software artifacts

Examples

Experimental program
Comparison scheme
Effect test

other Embodiment approach

[0062] Other embodiments may employ additional diagnostic and debugging programs or utilities, such as strace and dtrace, which are publicly available. strace is used to monitor the interaction between the process and the kernel, including system calls. dtrace can be used to provide runtime information for the system, including the amount of memory used, CPU time, specific function calls, and the process of accessing specific files. Exemplary embodiments can also track the execution trajectory across multiple runs of the program (for example, using Valgrind).

[0063] Additional implementations can run LLVM IR through the KLEE engine. KLEE is a symbolic virtual machine, which is a publicly available open source code. KLEE executes LLVM IR symbolically and automatically generates tests that train all code program paths. Symbolic execution involves (among other things) analyzing the code to determine what input caused each part of the code to execute. Using KLEE is very effecti...

Embodiment approach

[0087] For certain exemplary embodiments, the design pattern is located in the software file. For certain exemplary embodiments, design patterns may involve interactions between files, such as interfaces. Exemplary embodiments may automatically recognize design patterns by making the recognition based on products for multiple software files (such as first and second files, both of which belong to a software project). For example, pre-identified patterns that represent design patterns (such as interface mismatch errors) can be stored in a database, or stored in other locations that allow products from the first and second files to be used to identify interface errors for these files. Exemplary design patterns for exemplary embodiments include defects, repairs, features, feature contention, or pre-identified program fragments.

[0088] For certain exemplary embodiments, the method locates a character string representing a defect or repair in the product. Frequently, there are suc...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

Systems, methods, and computer program products are shown for providing a corpus. An example embodiment includes automatically obtaining a plurality of software files, determining a plurality of artifacts for each of the plurality of software files, and storing the plurality of artifacts for each of the plurality of software files in a database. Additional embodiments determine some of the artifacts for each of the software files by converting each of the software files into an intermediate representation and determining at least some of the artifacts from the intermediate representation for each of the software files. Certain example embodiments determine at least some of the artifacts for each of the software files by extracting a string of characters from each of the plurality of software files. The software files can be in a source code or a binary format.

Description

[0001] Related application [0002] This application claims the rights of U.S. Provisional Application No. 62 / 012,127 filed on June 13, 2014. The entire teachings of the aforementioned application are incorporated herein by reference in their entirety. [0003] governmental support [0004] The present invention was completed with government support under the license number FA8750-14-C-0056 from the US Air Force and the license number FA8750-15-C-0242 from the Defense Advanced Research Projects Administration. The government has certain rights in this invention. Background technique [0005] Today, software development, maintenance, and repair are manual processes. Software vendors plan, implement, document, test, deploy, and maintain computer programs over time. The initial planning, implementation, documentation, testing, and deployment are often incomplete and always lack desired features or contain defects. Many vendors use life cycle maintenance plans to address these shortc...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Applications(China)
IPC IPC(8): G06F9/44
CPCG06F8/70G06F8/37G06F8/73G06F8/75G06F11/362G06F11/3672
Inventor R·T·卡巴克三世B·D·加伊诺N·A·布洛克E·T·安特尔曼
Owner CHARLES STARK DRAPER LABORATORY
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products