Automatic extraction of object-oriented component interfaces
By John Whaley, Michael C. Martin, Monica S. Lam. International Symposium on Software Testing and Analysis, 2002
304 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/de527db5a41b3e0c5dc3e646a5ad5e81754e0ec3
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Swarat Chaudhuri
- C. Jermaine
- Charles Sutton
- Vijayaraghavan Murali
- Tao Xie
- Rajeev Alur
- Parthasarathy Madhusudan
- Engin Kirda
In Information Systems
- Charles Sutton
- Tao Xie
- Premkumar T. Devanbu
- Westley Weimer
- Miltiadis Allamanis
- Tien Nhut Nguyen
- Claire Le Goues
- Jian Pei
In Software
- Westley Weimer
- Charles Sutton
- Claire Le Goues
- Tao Xie
- Premkumar T. Devanbu
- Stephanie Forrest
- Eran Yahav
- Zhendong Su
Citations in the corpus
- Prospex: Protocol Specification Extraction (2009, methodology): “Automatically extracting a protocol state machine from a set of observed protocol interactions is related to the problem of extracting temporal specifications for software components (such as API or method call sequences) from program traces [45], [55]–[58].”
- Effective typestate verification in the presence of aliasing (2006, background): “Typestates can encode correct usage rules for many common libraries and application programming interfaces (APIs) [Whaley et al. 2002; Alur et al. 2005].”
- Finding Likely Errors with Bayesian Specifications (2017, background): “Most efforts in this area (Ammons et al. 2002, 2003; Zhong et al. 2009; Li & Zhou 2005; Ernst et al. 1999; Nimmer & Ernst 2002; Weimer & Necula 2005; Alur et al. 2005; Goues & Weimer 2009; Shoham et al. 2007; Whaley et al. 2002) focus on qualitative specifications, typically finite automata.”
- Merlin: specification inference for explicit information flow problems (2009, methodology): “Whaley et al. [ 32 ] considers inference of interface specifications for Java method calls using static analysis.”
- Finding application errors and security flaws using PQL: a program query language (2005, unknown): “[60] hardcode a restricted model paradigm so that p robable models of object-oriented interfaces can be easily auto ma ically extracted.”
- DART: directed automated random testing (2005, unknown): “The idea of extracting automatically interfaces of software components via static analysis has been discussed before, for model-checking purposes (e.g., [8]), reverse engineering (e.g., [37]), and compositional verification (e.g., [1]).”
- Synthesis of interface specifications for Java classes (2005, methodology): “on extracting interfaces from Java classes [32].”
- The Daikon system for dynamic detection of likely invariants (2007, background): “Several researchers have inferred, from program or system traces, finite state automata that represent the permitted transitions [36–39].”
- DynaMine: finding common error patterns by mining software revision histories (2005, background): “[34] hardcode a restricted model paradigm so that probable models of object-oriented interfaces can be easily automatically extracted.”
- Javert: fully automatic mining of general temporal properties from dynamic traces (2008, background): “Various static analyses [3,16,30] take as input a type and produce as output an automaton that encodes legal call sequences of operations on that type.”
- MAPO: Mining and Recommending API Usage Patterns (2009, methodology): “To mine automata, some approaches [4] [5] [21] use the Angluin's algorithm [6], and other approaches [9] [11] [14] [28] [31] [36] adopt various customized techniques.”
- Synthesizing API usage examples (2012, methodology): “many specification mining techniques [30], [31], [32] where the edges represent method calls and an accepting sequence corresponds to a valid ordering) (lines 24–26).”
- Jungloid mining: helping to navigate the API jungle (2005, background): “Whaley, Martin, and Lam [15] and Alur et al.”
- Mining API patterns as partial orders from source code: from usage scenarios to specifications (2007, methodology): “A number of approaches [3, 12, 24] have been developed to apply static analysis or model checking on the API implementation code to synthesize permissive API usage patterns that are allowed by the API implementation.”
- GenProg: A Generic Method for Automatic Software Repair (2012, background): “Other approaches, such as instruction-set randomization [63] or specification mining [64], could also report anomalies for repair.”