Central Concerns and Questions
Two major concerns in engineering software systems are high maintenance costs and reliability of systems. To reduce maintenance efforts, there is a need for automated tools to help software developers understand their existing code base. To ensure correctness of systems, there is a need for specifications to aid in testing and verification of mission critical systems. In both areas, the need for a well-documented software specification is apparent. However, software specifications are often poor, outdated or incomplete in the industry. Hence, there is a need for an automated methods to mine or infer these specifications or protocols automatically from programs.
Emerging Ideas and Initiatives
To address issue of poor specification, we employ and develop existing and novel data mining and machine learning techniques to infer baseline models that will serve as candidate specifications. These models can then be used to improve program comprehension, aid automated testing methodologies, find bugs and ensure correctness of software systems.
Selected Publications
[1] David Lo and Shahar Maoz. Mining Scenario-Based Triggers and Effects. In proceedings of the 23rd IEEE/SIGSOFT International Conference on Automated Software Engienering (ASE'08).
[2] David Lo, Siau-Cheng Khoo and Chao Liu. Mining Past-Time Temporal Rules from Execution Traces. In proceedings of the 6th Workshop on Dynamic Analysis (WODA'08).
[3] David Lo, Siau-Cheng Khoo and Chao Liu. Efficient Mining of Recurrent Rules from a Sequence Database. In proceedings of the 13rd International Conference on Database Systems for Advance Applications (DASFAA'08).
[4] David Lo, Shahar Maoz and Siau-Cheng Khoo. Mining Modal Scenario-based Specifications from Execution Traces of Reactive Systems. In proceedings of the 22nd IEEE/SIGSOFT International Conference on Automated Software Engineering (ASE'07).
[5] David Lo, Siau-Cheng Khoo and Chao Liu. Efficient Mining of Iterative Patterns for Software Specification Discovery. In proceedings of the 13th SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD'07).
[6] David Lo and Siau-Cheng Khoo. SMArTIC: Towards Building an Accurate, Robust and Scalable Specification Miner. In proceedings of the 14th SIGSOFT Symposium on Foundation of Software Engineering (FSE'06).
[7] David Lo and Siau-Cheng Khoo. QUARK: Empirical Assessment of Automaton-based Specification Miners. In proceedings of the 13th Working Conference on Reverse Engineering (WCRE'06).
Projects, Presentations and Posters
- David Lo, Software Specification Mining: Improving Maintainability and Reliability of Systems. (poster)
- David Lo, Shahar Maoz and Siau-Cheng Khoo. Mining Modal Scenarios from Execution Traces. (poster)
- David Lo, Siau-Cheng Khoo and Chao Liu. Efficient Mining of Iterative Patterns for Software Specification Discovery. (presentation)
- David Lo, Siau-Cheng Khoo and Chao Liu. Efficient Mining of Recurrent Rules from a Sequence Database. (presentation)
- David Lo, Siau-Cheng Khoo and Chao Liu. Mining Past-Time Temporal Rules from Execution Traces. (presentation)
Collaborations and Industry Linkages
- Programming Languages and Systems Lab, Departmet of Computer Science, National University of Singapore
- School of Computer Engineering, Nanyang Technological University
-
-
- Internet Service Research Center, Microsoft Research, Redmond
-
- Laboratory of Test and Analysis, University of Milano-Bicocca, Italy