Watch what I do: programming by demonstration
Watch what I do: programming by demonstration
Lackwit: a program understanding tool based on type inference
ICSE '97 Proceedings of the 19th international conference on Software engineering
Discovering models of software processes from event-based data
ACM Transactions on Software Engineering and Methodology (TOSEM)
Event-based detection of concurrency
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Quickly detecting relevant program invariants
Proceedings of the 22nd international conference on Software engineering
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Automatic generation of program specifications
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Tracking down software bugs using automatic anomaly detection
Proceedings of the 24th International Conference on Software Engineering
Semantic anomaly detection in online data sources
Proceedings of the 24th International Conference on Software Engineering
Invariant inference for static checking:
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Inductive Learning Applied to Program Construction and Verification
AIFIPP '92 Extended Papers from the IFIP TC12 Workshop on Artificial Intelligence from the Information Processing Perspective: Knowledge Oriented Software Design
Improving test suites via operational abstraction
Proceedings of the 25th International Conference on Software Engineering
Bug isolation via remote program sampling
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Automated Support for Program Refactoring using Invariants
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Predicting problems caused by component upgrades
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Learning programs from traces using version space algebra
Proceedings of the 2nd international conference on Knowledge capture
A Tool for Writing and Debugging Algebraic Specifications
Proceedings of the 26th International Conference on Software Engineering
Finding Latent Code Errors via Machine Learning over Program Executions
Proceedings of the 26th International Conference on Software Engineering
Improving the adaptability of multi-mode systems via program steering
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Using simulated execution in verifying distributed algorithms
International Journal on Software Tools for Technology Transfer (STTT)
What went wrong: explaining counterexamples
SPIN'03 Proceedings of the 10th international conference on Model checking software
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Dynamically discovering likely interface invariants
Proceedings of the 28th international conference on Software engineering
SEC: a search engine for component based software development
Proceedings of the 2006 ACM symposium on Applied computing
From daikon to agitator: lessons and challenges in building a commercial tool for developer testing
Proceedings of the 2006 international symposium on Software testing and analysis
Dynamic inference of abstract types
Proceedings of the 2006 international symposium on Software testing and analysis
Dynamic constraint detection for polymorphic behavior
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Extending Dynamic Constraint Detection with Polymorphic Analysis
WODA '07 Proceedings of the 5th International Workshop on Dynamic Analysis
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Automated Software Engineering
From uncertainty to belief: inferring the specification within
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
Efficient and Scalable Algorithms for Inferring Likely Invariants in Distributed Systems
IEEE Transactions on Knowledge and Data Engineering
The Daikon system for dynamic detection of likely invariants
Science of Computer Programming
DySy: dynamic symbolic execution for invariant inference
Proceedings of the 30th international conference on Software engineering
Extending dynamic constraint detection with disjunctive constraints
WODA '08 Proceedings of the 2008 international workshop on dynamic analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008)
Automatic generation of complex properties for hardware designs
Proceedings of the conference on Design, automation and test in Europe
A comparative study of programmer-written and automatically inferred contracts
Proceedings of the eighteenth international symposium on Software testing and analysis
Automatic steering of behavioral model inference
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Automatically patching errors in deployed software
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
A framework for defending embedded systems against software attacks
ACM Transactions on Embedded Computing Systems (TECS)
Inferring loop invariants using postconditions
Fields of logic and computation
New efficient techniques for dynamic detection of likely invariants
ICANNGA'11 Proceedings of the 10th international conference on Adaptive and natural computing algorithms - Volume Part I
Localizing program logical errors using extraction of knowledge from invariants
SEA'11 Proceedings of the 10th international conference on Experimental algorithms
Assessing test adequacy for black-box systems without specifications
ICTSS'11 Proceedings of the 23rd IFIP WG 6.1 international conference on Testing software and systems
An improved rule for while loops in deductive program verification
ICFEM'05 Proceedings of the 7th international conference on Formal Methods and Software Engineering
Using concept lattices to uncover causal dependencies in software
ICFCA'06 Proceedings of the 4th international conference on Formal Concept Analysis
Understanding user understanding: determining correctness of generated program invariants
Proceedings of the 2012 International Symposium on Software Testing and Analysis
On the definition of dynamic software measures
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
SMT solvers for software security
WOOT'12 Proceedings of the 6th USENIX conference on Offensive Technologies
Dynamic property mining for embedded software
Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
An automated analysis methodology to detect inconsistencies in web services with WSDL interfaces
Software Testing, Verification & Reliability
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Second-order constraints in dynamic invariant inference
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Loop invariants: Analysis, classification, and examples
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Dynamic detection of likely invariants is a program analysis that generalizes over observed values to hypothesize program properties. The reported program properties are a set of likely invariants over the program, also known as an operational abstraction. Operational abstractions are useful in testing, verification, bug detection, refactoring, comparing behavior, and many other tasks. Previous techniques for dynamic invariant detection scale poorly or report too few properties. Incremental algorithms are attractive because they process each observed value only once and thus scale well with data sizes. Previous incremental algorithms only checked and reported a small number of properties. This paper takes steps toward correcting this problem. The paper presents two new incremental algorithms for invariant detection and compares them analytically and experimentally to two existing algorithms. Furthermore, the paper presents four optimizations and shows how to implement them in the context of incremental algorithms. The result is more scalable invariant detection that does not sacrifice functionality.