PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Experimental results from dynamic slicing of C programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Catching bugs in the web of program invariants
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Software reconnaissance: mapping program features to code
Journal of Software Maintenance: Research and Practice
Lackwit: a program understanding tool based on type inference
ICSE '97 Proceedings of the 19th international conference on Software engineering
The use of program profiling for software maintenance with applications to the year 2000 problem
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Making large-scale support vector machine learning practical
Advances in kernel methods
Quickly detecting relevant program invariants
Proceedings of the 22nd international conference on Software engineering
Quantifying the closeness between program components and features
Journal of Systems and Software - Special issue on software maintenance
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
The Definition of Standard ML
Locating Features in Source Code
IEEE Transactions on Software Engineering
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
The Cartesian Product Algorithm: Simple and Precise Type Inference Of Parametric Polymorphism
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Dynamic Type Inference to Support Object-Oriented Reenginerring in Smalltalk
ECOOP '98 Workshop ion on Object-Oriented Technology
Bug isolation via remote program sampling
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
A Survey of Program Slicing Techniques.
A Survey of Program Slicing Techniques.
Generalized aliasing as a basis for program analysis tools
Generalized aliasing as a basis for program analysis tools
Cloning-based context-sensitive pointer alias analysis using binary decision diagrams
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Object-oriented units of measurement
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Efficient incremental algorithms for dynamic detection of likely invariants
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Correlating Features and Code Using a Compact Two-Sided Trace Analysis Approach
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Analyzing Feature Traces to Incorporate the Semantics of Change in Software Evolution Analysis
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Automatic test factoring for java
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Demand-driven type inference with subgoal pruning
Demand-driven type inference with subgoal pruning
LIBSVM: A library for support vector machines
ACM Transactions on Intelligent Systems and Technology (TIST)
Inference and enforcement of data structure consistency specifications
Proceedings of the 2006 international symposium on Software testing and analysis
Valgrind: a framework for heavyweight dynamic binary instrumentation
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Experimental assessment of random testing for object-oriented software
Proceedings of the 2007 international symposium on Software testing and analysis
The Daikon system for dynamic detection of likely invariants
Science of Computer Programming
Error propagation analysis for file systems
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Automatic dimension inference and checking for object-oriented programs
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Locating need-to-translate constant strings for software internationalization
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Assigning Blame: Mapping Performance to High Level Parallel Programming Abstractions
Euro-Par '09 Proceedings of the 15th International Euro-Par Conference on Parallel Processing
Dynamic inference of static types for ruby
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Detecting anomalies in the order of equally-typed method arguments
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Tunable static inference for generic universe types
Proceedings of the 25th European conference on Object-oriented programming
Data centric techniques for mapping performance data to program variables
Parallel Computing
Discovering invariants via simple component analysis
Journal of Symbolic Computation
An automated analysis methodology to detect inconsistencies in web services with WSDL interfaces
Software Testing, Verification & Reliability
Discovering branching conditions from business process execution logs
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Data model property inference and repair
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Second-order constraints in dynamic invariant inference
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Hi-index | 0.00 |
An abstract type groups variables that are used for related purposes in a program. We describe a dynamic unification-based analysis for inferring abstract types. Initially, each run-time value gets a unique abstract type. A run-time interaction among values indicates that they have the same abstract type, so their abstract types are unified. Also at run time, abstract types for variables are accumulated from abstract types for values. The notion of interaction may be customized, permitting the analysis to compute finer or coarser abstract types; these different notions of abstract type are useful for different tasks. We have implemented the analysis for compiled x86 binaries and for Java bytecodes. Our experiments indicate that the inferred abstract types are useful for program comprehension, improve both the results and the run time of a follow-on program analysis, and are more precise than the output of a comparable static analysis, without suffering from overfitting.