Method for instruction sequence execution analysis and visualization
Abstract
Various technologies pertaining to computer-executable instruction sequence forensics are described herein. In a general embodiment, an application development framework supports a function library that includes a plurality of recording functions. Calls to these functions are inserted into source code or bytecode of the computer-executable instruction sequence. The source code is then compiled, resulting in formation of instrumented machine code of the computer-executable instruction sequence. Alternately, the runtime environment interprets instrumented bytecode for the instruction sequence. A processor executes the machine code, and the called functions cause the processor to generate forensic data pertaining to portions of the computer-executable instruction sequence that correspond to locations in the source code where the calls were inserted. An execution instance of the computer-executable instruction sequence is visualized based upon the forensic data.
- Inventors:
- Issue Date:
- Research Org.:
- Sandia National Laboratories (SNL), Albuquerque, NM, and Livermore, CA (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1478644
- Patent Number(s):
- 10073764
- Application Number:
- 14/812,842
- Assignee:
- National Technology & Engineering Solutions of Sandia, LLC (Albuquerque, NM)
- Patent Classifications (CPCs):
-
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
- DOE Contract Number:
- AC04-94AL85000
- Resource Type:
- Patent
- Resource Relation:
- Patent File Date: 2015 Jul 29
- Country of Publication:
- United States
- Language:
- English
Citation Formats
Sundermier, Amy, Arpin, Bettina K., Karmol, David, Ray, Lawrence P., Munoz, Kenneth Michael, Lawry, William, Coram, Jamie L., Artale, Thomas Anthony, DeMoss, Patrick, Nunno, Lucas Leighton, and Easter, Aaron. Method for instruction sequence execution analysis and visualization. United States: N. p., 2018.
Web.
Sundermier, Amy, Arpin, Bettina K., Karmol, David, Ray, Lawrence P., Munoz, Kenneth Michael, Lawry, William, Coram, Jamie L., Artale, Thomas Anthony, DeMoss, Patrick, Nunno, Lucas Leighton, & Easter, Aaron. Method for instruction sequence execution analysis and visualization. United States.
Sundermier, Amy, Arpin, Bettina K., Karmol, David, Ray, Lawrence P., Munoz, Kenneth Michael, Lawry, William, Coram, Jamie L., Artale, Thomas Anthony, DeMoss, Patrick, Nunno, Lucas Leighton, and Easter, Aaron. Tue .
"Method for instruction sequence execution analysis and visualization". United States. https://www.osti.gov/servlets/purl/1478644.
@article{osti_1478644,
title = {Method for instruction sequence execution analysis and visualization},
author = {Sundermier, Amy and Arpin, Bettina K. and Karmol, David and Ray, Lawrence P. and Munoz, Kenneth Michael and Lawry, William and Coram, Jamie L. and Artale, Thomas Anthony and DeMoss, Patrick and Nunno, Lucas Leighton and Easter, Aaron},
abstractNote = {Various technologies pertaining to computer-executable instruction sequence forensics are described herein. In a general embodiment, an application development framework supports a function library that includes a plurality of recording functions. Calls to these functions are inserted into source code or bytecode of the computer-executable instruction sequence. The source code is then compiled, resulting in formation of instrumented machine code of the computer-executable instruction sequence. Alternately, the runtime environment interprets instrumented bytecode for the instruction sequence. A processor executes the machine code, and the called functions cause the processor to generate forensic data pertaining to portions of the computer-executable instruction sequence that correspond to locations in the source code where the calls were inserted. An execution instance of the computer-executable instruction sequence is visualized based upon the forensic data.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Tue Sep 11 00:00:00 EDT 2018},
month = {Tue Sep 11 00:00:00 EDT 2018}
}
Works referenced in this record:
Method for Optimizing Performance of Database/Web-Service Backed Applications by Automatically Prefetching Query Results
patent-application, July 2014
- Ramachandra, Karthik; Sudarshan, Sundararajarao
- US Patent Application 14/149978; 20140195512
MosaiCode: Visualizing large scale software: A tool demonstration
conference, September 2011
- Maletic, Jonathan I.; Mosora, Daniel J.; Newman, Christian D.
- 2011 6th International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT)
Visualization and Analysis of Parallel Dataflow Execution with Smart Traces
conference, August 2014
- Osmari, Daniel K.; Vo, Huy T.; Silva, Claudio T.
- 2014 27th SIBGRAPI Conference on Graphics, Patterns and Images
Method for optimizing performance of database/web-service backed applications by automatically prefetching query results
patent, August 2016
- Ramachandra, Karthik; Sudarshan, Sundararajarao
- US Patent Document 9,424,309
Post-recording Data Analysis and Retrieval
patent-application, October 2008
- Jones, Bernard
- US Patent Application 12/065377; 20080263012
Generation of parallel code representations
patent, March 2014
- Radigan, James J.
- US Patent Document 8,667,474
Convergence Analysis in Multithreaded Programs
patent-application, August 2014
- Kudlur, Manjunath
- US Patent Application 13/760946; 20140223420
Reverse dependency injection in a system with dynamic code loading
patent, January 2017
- Lagerblad, Bo Jonas Birger; Katkere, Arun Lakshminarayan
- US Patent Document 9,535,726
Methods and Systems for Automatically Testing Software
patent-application, November 2015
- Avgerinos, Thanassis; Rebert, Alexandre; Brumley, David
- US Patent Application 14/718329; 20150339217
Automatic Modularization of Source Code
patent-application, June 2013
- Karr, Michael E.; Mulat, Gael
- US Patent Application 13/692155; 20130145347
SYNCTRACE: Visual thread-interplay analysis
conference, September 2013
- Karran, Benjamin; Trumper, Jonas; Dollner, Jurgen
- 2013 First IEEE Working Conference on Software Visualization (VISSOFT)
Method for Automatically Generating a Trace Data Set for a Software System, a Computer System, and a Computer Program Product
patent-application, April 2013
- Bohnet, Johannes; Doellner, Juergen
- US Patent Application 13/637066; 20130091387
Algorithm explorer: visualizing algorithms in a 3D multimedia environment
conference, January 2007
- Carson, Erik; Parberry, Ian; Jensen, Bradley
- SIGCSE '07 Proceedings of the 38th SIGCSE technical symposium on Computer science education, p. 155-159
Method and apparatus for test coverage analysis
patent, November 2014
- Sobolev, Sergey Pavlovich; Vinogradov, Sergey
- US Patent Document 8,898,647
Exploiting UML dynamic object modeling for the visualization of C++ programs
conference, January 2005
- Malloy, Brian A.; Power, James F.
- SoftVis '05 Proceedings of the 2005 ACM symposium on Software visualization
Behavior Specification, Finding Main, and Call Graph Visualizations
patent-application, February 2016
- Sayre, Kirk D.; Willems, Richard A.; Lindberg, Stephen Lanse
- US Patent Application 14/820976; 20160042180
Systems and Methods for Visualization of Data Analysis
patent-application, December 2010
- Carlsson, Gunnar; Sexton, Harlan
- US Patent Application 12/703165; 20100313157
Converting an Activity Diagram into Code
patent-application, April 2011
- Dangeville, Nicolas; Guclu, Yucel
- US Patent Application 12/606356; 20110088010
Systems and Methods for Demarcating Information Related to One or More Blocks in and Application
patent-application, June 2013
- Emani, Murali Krishna; Mallick, Sudeep; Prasad, Balkrishna
- US Patent Application 13/714241; 20130167129
Post-pass binary adaptation for software-based speculative precomputation
patent-application, March 2004
- Liao, Steve Shih-wei; Wang, Perry H.; Wang, Hong
- US Patent Application 10/245548; 20040054990
HTML5 Graph Overlays for Application Topology
patent-application, December 2015
- Wang, Jialiang; Mangtani, Komal Nitin; Jalagami, Sesh
- US Patent Application 14/307997; 20150370763
Automatic Program Partition For Targeted Replay
patent-application, May 2012
- Wu, Ming; Long, Fan; Xn, Zhilei
- US Patent Application 12/951253; 20120131559
Visualizing Multiple Program Executions to Assist Behavior Verification
conference, July 2009
- Zhao, Chunying; Zhang, Kang; Hao, Jie
- 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement (SSIRI)
Systems and Methods for Visualization of Exception Handling Constructs
patent-application, March 2011
- Harrold, Mary Jean; Goerg, Carsten; Shah, Hina
- US Patent Application 12/560689; 20110066959
Method for identifying problematic loops in an application and devices thereof
patent, May 2015
- Emani, Murali Krishna; Mallick, Sudeep; Prasad, Balkrishna
- US Patent Document 9,043,775
Methods and systems for automatically testing software
patent, April 2017
- Avgerinos, Thanassis; Rebert, Alexandre; Brumley, David
- US Patent Document 9,619,375
Generation of Parallel Code Representations
patent-application, December 2010
- Radigan, James
- US Patent Application 12/487663; 20100325608
Program analysis device, analysis method and program of same
patent-application, September 2005
- Shinomi, Hideaki
- US Patent Application 11/065568; 20050204344
Automatic Generation of Run-Time Instrumenter
patent-application, October 2009
- Li, Juan Jenny; Weiss, David Mandel
- US Patent Application 12/056063; 20090249285
Method and Apparatus for Test Coverage Analysis
patent-application, August 2011
- Sobolev, Sergey Pavlovich; Vinogradov, Sergey Valerievich
- US Patent Application 13/123625; 20110197098
Historical Control Flow Visualization in Production Diagnostics
patent-application, May 2016
- Davis, Jackson; Foks, Maciej
- US Patent Application 14/527512; 20160124834
Program slicing for codesign of embedded systems
patent, November 2009
- Russell, Jeffry T.
- US Patent Document 7,620,946
Method for Identifying Problematic Loops in an Application and Devices Thereof
patent-application, March 2013
- Emani, Murali Krishna; Mallick, Sudeep; Prasad, Balkrishna
- US Patent Application 13/622811; 20130074059
Systems and methods for demarcating information related to one or more blocks in an application
patent, October 2014
- Emani, Murali Krishna; Mallick, Sudeep; Prasad, Balkrishna
- US Patent Document 8,869,125
Method and system for finding evolving regions in graphs without persistent node identity
patent-application, January 2007
- Derby, Herbert G.; Mitchell, Nicholas M.; Poddar, Indrajit
- US Patent Application 11/180445; 20070016898
Reverse Dependency Injections in a System with Dynamic Code Loading
patent-application, March 2016
- Lagerblad, Bo Jonas Birger; Katkere, Arun Lakshminarayan
- US Patent Application 14/866343; 20160092246
Operation behavior modeling using relation identification and visualization algorithms
conference, August 2013
- Bengtsson, Kristofer; Lennartson, Bengt
- 2013 IEEE International Conference on Automation Science and Engineering (CASE)
Automatic region-based verification of garbage collectors
patent, July 2014
- Hawblitzel, Chris
- US Patent Document 8,776,032
Visualization of exception handling constructs to support program understanding
conference, January 2008
- Shah, Hina; Görg, Carsten; Harrold, Mary Jean
- SoftVis '08 Proceedings of the 4th ACM symposium on Software visualization, p. 19-28
Systems and methods for visualization of data analysis
patent, March 2015
- Carlsson, Gunnar; Sexton, Harlan; Singh, Gurjeet
- US Patent Document 8,972,899
Information visualization system
patent, July 2011
- Rusu, Adrian; Santiago, III, Confesor
- US Patent Document 7,984,389