System Structure Analysis: Clustering with Data Bindings
IEEE Transactions on Software Engineering - Annals of discrete mathematics, 24
Interprocedural slicing using dependence graphs
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
An improved algorithm for identifying objects in code
Software—Practice & Experience
Identifying objects using cluster and concept analysis
Proceedings of the 21st international conference on Software engineering
Authoritative sources in a hyperlinked environment
Proceedings of the ninth annual ACM-SIAM symposium on Discrete algorithms
Data mining library reuse patterns using generalized association rules
Proceedings of the 22nd international conference on Software engineering
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Similarity estimation techniques from rounding algorithms
STOC '02 Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
Information Retrieval
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Identifying modules via concept analysis
ICSM '97 Proceedings of the International Conference on Software Maintenance
SimRank: a measure of structural-context similarity
Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining
Component rank: relative significance rank for software component search
Proceedings of the 25th International Conference on Software Engineering
Normalized Cuts and Image Segmentation
CVPR '97 Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition (CVPR '97)
ICSE '81 Proceedings of the 5th international conference on Software engineering
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Identifying Candidate Objects Using Hierarchical Clustering Analysis
APSEC '01 Proceedings of the Eighth Asia-Pacific on Software Engineering Conference
Pattern Classification (2nd Edition)
Pattern Classification (2nd Edition)
LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Efficient field-sensitive pointer analysis for C
Proceedings of the 5th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Mining Version Histories to Guide Software Changes
Proceedings of the 26th International Conference on Software Engineering
Using structural context to recommend source code examples
Proceedings of the 27th international conference on Software engineering
Jungloid mining: helping to navigate the API jungle
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Automatic generation of suggestions for program investigation
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Perracotta: mining temporal API rules from imperfect traces
Proceedings of the 28th international conference on Software engineering
XSnippet: mining For sample code
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
SMArTIC: towards building an accurate, robust and scalable specification miner
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Modular information hiding and type-safe linking for C
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Exhibit: lightweight structured data publishing
Proceedings of the 16th international conference on World Wide Web
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Secure web applications via automatic partitioning
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Hierarchical Clustering for Software Architecture Recovery
IEEE Transactions on Software Engineering
Quantitative information flow as network flow capacity
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Simrank++: query rewriting through link analysis of the click graph
Proceedings of the VLDB Endowment
Towards automatically generating summary comments for Java methods
Proceedings of the IEEE/ACM international conference on Automated software engineering
Random unit-test generation with MUT-aware sequence recommendation
Proceedings of the IEEE/ACM international conference on Automated software engineering
Language-based replay via data flow cut
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
IDE 2.0: collective intelligence in software development
Proceedings of the FSE/SDP workshop on Future of software engineering research
Flow-augmented call graph: a new foundation for taming API complexity
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Combined static and dynamic automated test generation
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Cross-library API recommendation using web search engines
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Automated documentation inference to explain failed tests
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Asking and answering questions about unfamiliar APIs: an exploratory study
Proceedings of the 34th International Conference on Software Engineering
Semi-automatically extracting FAQs to improve accessibility of software development knowledge
Proceedings of the 34th International Conference on Software Engineering
Searching connected API subgraph via text phrases
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Hi-index | 0.00 |
This paper presents a tool Altair that automatically generates API function cross-references, which emphasizes reliable structural measures and does not depend on specific client code. Altair ranks related API functions for a given query according to pair-wise overlap, i.e., how they share state, and clusters tightly related ones into meaningful modules. Experiments against several popular C software packages show that Altair recommends related API functions for a given query with remarkably more precise and complete results than previous tools, that it can extract modules from moderate-sized software (e.g., Apache with 1000+ functions) at high precision and recall rates (e.g., both exceeding 70% for two modules in Apache), and that the computation can finish within a few seconds.