CS 272 - Software Engineering
Winter 2024
Course Description
Origins of software engineering as a research area goes back to a NATO
conference that was held in 1968. 50 top computer scientists, programmers
and industry leaders met at this conference to find a way to solve the
software crisis:
Large software systems often do not provide the
desired functionality, they take too long to build, they cost too much to
build, they require too much resources (time, space) to run, and they cannot
evolve to meet changing needs.
The term software engineering was
first used in this conference to indicate the need to find a systematic,
disciplined, quantifiable approach to the production and maintenance
of software. Software engineering has been an active area of research
for 50 years motivated by the goals identified in this conference.
In this class we will discuss a collection of influential and impactful
software engineering research papers and tools in order to provide an
overview of software engineering research.
Instructor:
Tevfik Bultan
(bultan@cs.ucsb.edu)
Office Hours:
Wednesday 1:30PM-2:30PM and Friday 2:00-3:00PM at HFH 2159.
Class Webpage: URL:
http://www.cs.ucsb.edu/~bultan/courses/272/
Lectures:
Monday/Wednesday 11:00AM-12:50PM, PHELP 3526
Announcements
- There will not be an office hour on March 15th Friday due to the CS Summit event.
- UPDATE: Due date for Homework 3 is extended to March 18th, Monday.
- Late homework assignments: 10 points will be deducted from homeworks that are turned in up to 24 hours late, homeworks will not be accepted after 24 hours past the due date.
- Project progress reports are due February 23rd, Friday.
- Project presentations will be in PHELP 3526 on March 21st, Thursday, 12:00-3:00.
- Final project reports are due March 22nd, Friday.
Course Work
- Reading Assignments:
Students will be required to read the papers discussed
in the class.
- Homeworks:
There will be several homeworks.
- Class Projects: Students (as 3-5 student-teams)
are required to do a class project.
The class project can either be a evaluation, application or extension of an
an existing software engineering research
tool.
For selecting a research tool you can look at the papers listed in this web page or you
can use
DBLP
and
Google Scholar
to search for software engineering publications on different topics.
You can look at papers in software engineering conferences ICSE, FSE, ESEC/FSE, ASE and ISSTA and
software engineering journals
IEEE TSE and ACM TOSEM.
- Evaluation projects: If you choose this option you are required to evaluate
a research tool. Your evaltion cannot be simply re-running experiments reported in prior papers. You are required to run
novel experiments in evaluating the resaerch tool.
- Aplication projects:
If you choose this option you are required to apply a research tool to a novel domain/problem and report either case studies
or experiments demonstrating applicability of the tool to this new domain/problem.
- Extension projects:
If you choose this option you are required to
implement an extension to an existing resaerch tool and evaluate the effectiveness of the extension.
Deliverables for projects (list the team members and the project name in each one, return the printed hard copy in class on the due date):
- Project description (due January 24th): One page description of the project.
Identify the tool you are you planning to use, explain what type of project you are doing, and explain your evaluation, application or extension plans.
- Progress report (due February 23rd):
Prepare a 3-5 page progress report about your project. In the progress report you should explain the topic of your study, and discuss your findings so far.
- Final report: (due March 22nd, Friday) You will need to turn in a final project report (should be about 10 pages) at the end of the quarter.
- Project presentation (in PHELP 3526 on March 21st, Thursday, 12:00-3:00): Give a 15 minute project presentation (with slides) at the end of the quarter.
- Turning in assignments: Each assignment is due at 5:00pm of the day of the assignment. Please turn in every assignment as a hard copy either in class or by putting in the mailbox of the instructor (in room HFH 2108).
- Late homework assignments: 10 points will be deducted from homeworks that are turned in up to 24 hours late, homeworks will not be accepted after 24 hours past the due date.
Homework Assignments
Reading Assignments and Lectures
- Week 1
- Week 2
- Week 3
- Monday: Lecture:
Alloy Continued
- Wednesday: Lecture Canceled
- Week 4
- Monday:
Lecture:
Design by Contract, Java Modeling Language
-
``Applying Design by Contract.''
Bertrend Meyer, Computer 25(10), 40-51 (1992)
-
``An overview of JML tools and applications.''
Lilian Burdy, Yoonsik Cheon, David R. Cok,
Michael D. Ernst, Joseph R. Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll.
In International Journal on Software Tools for Technology Transfer, 7(3):212-232, June 2005.
- Wednesday:
Lecture: Extended Static Checking
-
``Extended static checking for Java.''
Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge, Greg Nelson, James B. Saxe, and Raymie Stata.
In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language
Design and Implementation (PLDI 2002).
- Week 5
- Monday:
Lecture:
Hoare Logic, Weakest Preconditions
-
"An Axiomatic Basis for Computer Programming,”
C. A. R. Hoare,
Communications of the ACM, vol. 12, no. 10, pp. 576-583, 1969
-
“Guarded Commands, Nondeterminacy and Formal Derivation of
Programs,”
E. W. Dijkstra, Communications of the ACM, vol. 18,
no. 8, pp. 453-457, 1975
- Wednesday:
Lecture:
Dafny
- Week 6
- Monday: Lecture:
Testing Overview, Foundations
- Wednesday:
Symbolic Execution
-
Roberto Baldoni, Emilio Coppa, Daniele Cono D'Elia, Camil Demetrescu, Irene Finocchi.
A Survey of Symbolic Execution Techniques.
ACM Comput. Surv. 51(3): 50:1-50:39 (2018)
-
"DART: Directed Automated Random Testing,"
Patrice Godefroid, Nils Klarlund, and Koushik Sen,
In Proceedings of the
ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation (PLDI 2005).
-
"CUTE:
A Concolic Unit Testing Engine for C"
Koushik Sen, Darko Marinov, Gul Agha.
European Software Engineering Conference and Symposium on the
Foundations of Software Engineering (ESEC/FSE 2005).
-
Z3: An Efficient SMT Solver.
Leonardo Mendonça de Moura, Nikolaj Bjørner.
TACAS 2008: 337-340
- Week 7
- Wednesday:
Lecture:
Exhaustive Bounded Testing and Feedback-Directed Random Testing
- Week 8
- Monday:
Lecture:
Fuzzing
- Wednesday:
Lecture: Automated Debugging
- Week 9
- Monday:
Lecture:
Automated Patch Generation
- Wednesday:
Lecture:
Automated Interface Extraction and Runtime Monitoring
- Week 10
- Monday:
Lecture: SE and AI
Tentative List of Topics and Papers
The following list is subject to change.
- Specification
-
"Alloy: A Lightweight Object Modeling Notation"
Daniel Jackson.
ACM Transactions on Software Engineering and Methodology (TOSEM)
Volume 11, Issue 2 (April 2002), pp. 256-290.
-
"A Micromodularity Mechanism,"
Daniel Jackson, Ilya Shlyakhter and Manu Sridharan.
Proc. ACM SIGSOFT Conf. Foundations of Software
Engineering/European Software Engineering
Conference (FSE/ESEC '01), Vienna, September 2001.
-
Aleksandar Milicevic, Joseph P. Near, Eunsuk Kang, and Daniel Jackson:
Alloy*: A General-Purpose Higher-Order Relational Constraint Solver
International Conference on Software Engineering (ICSE 2015),
May 16 - 24, 2015
-
Patterns in Property Specifications for Finite-State Verification.
Matthew B. Dwyer, George S. Avrunin, James C. Corbett:
ICSE 1999: 411-420
-
An overview of JML tools and applications.
Lilian Burdy, Yoonsik Cheon, David R. Cok,
Michael D. Ernst, Joseph R. Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll.
In International Journal on Software Tools for Technology Transfer, 7(3):212-232, June 2005.
-
Martin Gogolla, Fabian Büttner, Mark Richters:
USE: A UML-based specification environment for validating UML and OCL.
Sci. Comput. Program. 69(1-3): 27-34 (2007)
-
“Validating OCL Specifications with the USE Tool-An Example Based on the BART Case Study”
P. Ziemann and M. Gogolla, 2003
-
"Specifying JAVA CARD API in OCL"
Daniel Larsson and Wojciech Mostowski
- Verification
- "Bandera:
extracting finite-state models from Java source code"
C. Corbett, Matthew B. Dwyer, John Hatcliff, Shawn Laubach,
Corina S. Pasareanu, Robby, Hongjun Zheng.
Proceedings of the 22nd International Conference on Software
Engineering, 2000.
-
"Model Checking Programs."
W. Visser, K. Havelund, G. Brat, S. Park.
In Automated Software Engineering Journal
Volume 10, Number 2, April 2003.
-
"Modular Verification of Software Components in C"
S. Chaki, E. Clarke, A. Groce, S. Jha, H. Veith.
2003 International Conference on Software Engineering (ICSE 2003).
- "Application
of Design for Verification with Concurrency Controllers
to Air Traffic Control Software"
Aysu Betin Can, Tevfik Bultan, Mikael Lindvall, Benjamin Lux,
Stefan Topp. International Conference on Automated Software Engineering (ASE 2005).
- "Verifying Multi-threaded Software using SMT-based Context-Bounded Model Checking"
Lucas Cordeiro and Bernd Fischer.
33rd International Conference on Software Engineering (ICSE 2011).
-
Akash Lal and Shaz Qadeer,
Powering the Static Driver Verifier using Corral,
Foundations of Software Engineering (FSE 2014)
November 16 - 21, 2014.
-
Jianhui Chen, Fei He:
Control Flow-Guided SMT Solving for Program Verification.
Automated Software Engineering (ASE 2018)
September 3 - 7, 2018
- Symbolic Execution
-
Generalized Symbolic Execution for Model Checking and Testing.
Sarfraz Khurshid, Corina S. Pasareanu, Willem Visser.
TACAS 2003: 553-568
-
"DART: Directed Automated Random Testing,"
Patrice Godefroid, Nils Klarlund, and Koushik Sen,
In Proceedings of the
ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation (PLDI 2005).
-
"CUTE:
A Concolic Unit Testing Engine for C"
Koushik Sen, Darko Marinov, Gul Agha.
European Software Engineering Conference and Symposium on the
Foundations of Software Engineering (ESEC/FSE 2005).
-
Symbolic PathFinder: integrating symbolic execution with model checking for Java bytecode analysis.
Corina S. Pasareanu, Willem Visser, David H. Bushnell, Jaco Geldenhuys, Peter C. Mehlitz, Neha Rungta.
Autom. Softw. Eng. 20(3): 391-425 (2013)
-
Probabilistic symbolic execution.
Jaco Geldenhuys, Matthew B. Dwyer, Willem Visser:
ISSTA 2012: 166-176
-
Thanassis Avgerinos, Alexandre Rebert, Sang Kil Cha, and David Brumley,
Enhancing Symbolic Execution with Veritesting,
International Conference on Software Engineering (ICSE 2014)
May 31 - June 7, 2014
-
Maria Christakis, Peter Müller, and Valentin Wüstholz:
Guiding Dynamic Symbolic Execution toward Unverified Program Executions.
International Conference on Software Engineering (ICSE 2016)
May 14 - 22, 2016
-
Xinyu Wang, Jun Sun, Zhenbang Chen, Peixin Zhang, Jingyi Wang, and Yun Lin:
Towards Optimal Concolic Testing.
International Conference on Software Engineering (ICSE 2018)
May 27 - June 3, 2018
-
Ziqi Shuai, Zhenbang Chen, Yufeng Zhang, Jun Sun, Ji Wang:
Type and Interval aware Array Constraint Solving for Symbolic Execution,
ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2021)
July 11-17, 2021
- Testing
-
"Software Assurance by Bounded Exhaustive Testing,"
D. Coppit, J. Yang, S. Khurshid, W. Le, and K. Sullivan.
IEEE Transactions on Software Engineering (TSE), Volume 31, Issue 4, Pages 328-339, April 2005.
-
"TestEra: A Novel Framework for Automated Testing of Java Programs."
D. Marinov and S. Khurshid. 16th IEEE Conference on Automated Software Engineeri
ng (ASE 2001), San Diego, CA. Nov 2001.
-
"Korat: Automated Testing Based on Java Predicates"
Chandrasekhar Boyapati, Sarfraz Khurshid, Darko Marinov.
International Symposium on Software Testing and Analysis
(ISSTA 2002).
-
Willem Visser, Corina S. Păsăreanu, Sarfraz Khurshid.
Test Input Generation with Java PathFinder, ISSTA 2004
-
"Scalable
Automatic Test Data Generation from Modeling Diagrams"
Yannis Smaragdakis, Christoph Csallner.
International Conference on Automated Software Engineering (ASE 2007).
-
"Randoop: feedback-directed random testing for Java"
Carlos Pacheco, Michael D. Ernst.
22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems,
Languages, and Applications (OOPSLA 2007).
-
Test Generation through Programming in UDITA
Milos Gligoric, Tihomir Gvero, Vilas Jagannath, Sarfraz
Khurshid, Viktor Kuncak, Darko Marinov.
32nd International Conference on Software Engineering (ICSE 2010).
-
Gordon Fraser and Andreas Zeller.
Mutation-driven generation of unit tests and oracles,
ISSTA 2010
-
"Programs, Tests, and Oracles: The Foundations of Testing Revisited"
Matt Staats, Michael W. Whalen, and Mats P.E. Heimdahl.
33rd International Conference on Software Engineering (ICSE 2011).
-
EvoSuite: automatic test suite generation for object-oriented software.
Gordon Fraser, Andrea Arcuri:
SIGSOFT FSE 2011: 416-419
- Lei Ma, Cyrille Artho, Cheng Zhang, Hiroyuki Sato, Johannes Gmeiner, and Rudolf Ramler:
GRT: Program-Analysis-Guided Random Testing
-
Emilio Cruciani, Breno Miranda, Roberto Verdecchia and Antonia Bertolino:
Scalable Approaches for Test Suite Reduction,
International Conference on Software Engineering (ICSE 2019)
May 25 - 31, 2019
- Fuzzing
-
Grammar-based whitebox fuzzing.
Patrice Godefroid, Adam Kiezun, Michael Y. Levin.
PLDI 2008: 206-215
-
Learn&Fuzz: machine learning for input fuzzing.
Patrice Godefroid, Hila Peleg, Rishabh Singh.
ASE 2017: 50-59
-
Program-Adaptive Mutational Fuzzing.
Sang Kil Cha, Maverick Woo, David Brumley.
IEEE Symposium on Security and Privacy 2015: 725-741
-
Caroline Lemieux, Rohan Padhye, Koushik Sen, Dawn Song:
PerfFuzz: Automatically Generating Pathological Inputs.
International Symposium on Software Testing and Analysis (ISSTA 2018)
July 16 - 18, 2018
- Hybrid Techniques
- "SYNERGY:
A New Algorithm for Property Checking"
Bhargav S. Gulavani, Thomas A. Henzinger, Yamini Kannan, Aditya
V. Nori, Sriram K. Rajamani.
14th ACM SIGSOFT International Symposium on Foundations of
Software Engineering (FSE 2006).
-
"DSD-Crasher:
A Hybrid Analysis Tool for Bug Finding"
Christoph Csallner, Yannis Smaragdakis.
International Symposium on Software Testing and Analysis (ISSTA 2006).
-
Unleashing Mayhem on Binary Code.
Sang Kil Cha, Thanassis Avgerinos, Alexandre Rebert, David Brumley.
IEEE Symposium on Security and Privacy 2012: 380-394
-
Driller: Augmenting Fuzzing Through Selective Symbolic Execution.
Nick Stephens, John Grosen, Christopher Salls, Andrew Dutcher, Ruoyu Wang, Jacopo Corbetta, Yan Shoshitaishvili, Christopher Kruegel, Giovanni Vigna.
NDSS 2016
- Security
-
Omer Tripp, Pietro Ferrara, and Marco Pistoia,
Hybrid Security Analysis of Web JavaScript Code via Dynamic Partial Evaluation,
International Symposium on Software Testing and Analysis (ISSTA 2014)
July 21-25, 2014
-
Mariano Ceccato, Cu D. Nguyen, Dennis Appelt and Lionel Briand:
SOFIA: An Automated Security Oracle for Black-Box Testing of SQL-Injection Vulnerabilities,
Automated Software Engineering (ASE 2016)
September 3 - 7, 2016
-
Shengjian Guo, Meng Wu and Chao Wang:
Adversarial Symbolic Execution for Detecting Concurrency-related Cache Timing Leaks,
26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018)
November 4 - 9, 2018
- Yuju Shen, Yanyan Jiang, Chang Xu, Ping Yu, Xiaoxing Ma, Jian Lu:
ReScue: Crafting Regular Expression DoS Attacks,
Automated Software Engineering (ASE 2018)
September 3 - 7, 2018
-
Hua Yan, Yulei Sui, Shiping Chen, and Jingling Xue:
Spatio-Temporal Context Reduction:
A Pointer-Analysis- Based Static Approach for Detecting Use-After- Free Vulnerabilities,
International Conference on Software Engineering (ICSE 2018)
May 27 - June 3, 2018
- Debugging
- "Yesterday,
my program worked. Today, it does not. Why?"
Andreas Zeller.
Proceedings of the 7th European Software Engineering
Conference Held Jointly with the 7th ACM SIGSOFT
international Symposium on Foundations of Software
Engineering (ESEC/FSE 1999).
-
"Isolating Cause-effect Chains from Computer
Programs"
Andreas Zeller.
10th ACM SIGSOFT Symposium on the Foundations of Software
Engineering (FSE 2002).
-
"Simplifying and Isolating Failure-Inducing Input."
Andreas Zeller and Ralf Hildebrandt;
IEEE Transactions on Software Engineering 28(2), February 2002, pp. 183-200.
-
"Locating Causes of Program Failures,"
by Holger Cleve, Andreas Zeller.
ICSE '05: Proceedings of the 27th international
conference on Software engineering, Pages 342-351, May 2005.
-
"Bug Isolation via Remote Program Sampling"
Ben Liblit, Alex Aiken, Alice X. Zheng, and Michael I. Jordan.
ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation
(PLDI 2003).
- "Scalable Statistical Bug Isolation"
Ben Liblit, Mayur Naik, Alice X. Zheng, Alex Aiken, and Michael I. Jordan.
ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation
(PLDI 2005).
-
"Debugging Reinvented: Asking and Answering Why and Why Not Questions about Program Behavior"
Andrew Ko, Brad Myers.
30th International Conference on Software Engineering (ICSE 2008).
- "DARWIN: An Approach for Debugging Evolving Programs"
Dawei Qi, Abhik Roychoudhury, Zhenkai Liang, and Kapil Vaswani.
7th joint meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE) (ESEC/FSE 2009).
- Program Repair, Patching
- Mining
-
"Mining Specifications of Malicious Behavior"
Mihai Christodorescu, Somesh Jha, Christopher Kruegel.
Joint meeting of European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2007).
-
"Graph-based Mining of Multiple Object Usage Patterns"
Tung Nguyen, Hoan Nguyen, Nam Pham, Jafar Al-Kofahi, and Tien Nguyen.
7th joint meeting of the European Software Engineering Conference and the ACM
SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2009).
-
"On-demand Feature Recommendations Derived from Mining Public Product Descriptions"
Horatiu Dumitru, Marek Gibiec, Negar Hariri, Jane Cleland-Huang, Bamshad Mobasher,
Carlos Castro-Herrera, and Mehdi Mirakhorli.
33rd International Conference on Software Engineering (ICSE 2011).
-
Mining input grammars from dynamic taints.
Matthias Höschele, Andreas Zeller.
ASE 2016: 720-725
- AI
-
On the naturalness of software.
Abram Hindle, Earl T. Barr, Mark Gabel, Zhendong Su, Premkumar T. Devanbu.
Commun. ACM 59(5): 122-131 (2016)
-
Tien-Duy B. Le, David Lo:
Deep specification mining.
ISSTA 2018: 106-117
-
Jieshan Chen, Chunyang Chen, Zhenchang Xing, Xiwei Xu, Liming Zhu, Guoqiang Li, Jinshui Wang:
Unblind Your Apps: Predicting Natural-Language Labels for Mobile GUI Components by Deep Learning,
42nd International Conference on Software Engineering (ICSE 2020)
June 27 - July 19, 2020
-
Peixin Zhang, Jingyi Wang, Jun Sun, Guoliang Dong, Xinyu Wang, Xingen Wang, Jin Song Dong, Ting Dai:
White-box Fairness Testing through Adversarial Sampling,
42nd International Conference on Software Engineering (ICSE 2020)
June 27 - July 19, 2020
-
Seokhyun Lee, Sooyoung Cha, Dain Lee and Hakjoo Oh:
Effective White-box Testing of Deep Neural Networks with Adaptive Neuron-Selection Strategy.
International Symposium on Software Testing and Analysis (ISSTA 2020)
July 18 - 22, 2020
- Runtime Analysis and Monitoring
-
"Dynamically discovering likely program invariants to support program evolution"
Michael D. Ernst, Jake Cockrell, William G. Griswold, David Notkin.
21st International Conference on Software Engineering (ICSE 1999).
-
"The Daikon system for dynamic detection of likely invariants."
by Michael D. Ernst, Jeff H. Perkins, Philip J. Guo, Stephen McCamant,
Carlos Pacheco, Matthew S. Tschantz, and Chen Xiao.
Science of Computer Programming, 2007.
-
"Checking and
correcting behaviors of Java programs at runtime with
JavaMOP."
F. Chen, M. D'Amorim, and G. Rosu.
In RV'05, volume 144(4) of ENTCS, 2005.
-
"Efficient Monitoring of Parametric Context-Free
Patterns"
Patrick O'Neil Meredith, Dongyun Jin, Feng Chen and
Grigore Rosu.
23rd IEEE/ACM International Conference on Automated Software
Engineering (ASE 2008).
-
"Synthesizing Monitors for Safety Properties."
K. Havelund and G. Rosu.
Proceedings of the 8th International Conference on
Tools and Algorithms for Construction and Analysis of Systems,
Grenoble, France, Vol. 2280, pp. 342-356, April 2002.
-
"Efficient online monitoring of web-service SLAs"
Franco Raimondi, James Skene and Wolfgang Emmerich.
ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2008).
-
Zhe Chen, Junqi Yan, Shuanglong Kan, Ju Qian, and Jingling Xue:
Detecting Memory Errors at Runtime with Source-Level Instrumentation,
International Symposium on Software Testing and Analysis (ISSTA 2019)
July 15 - 19, 2019
- Interfaces
- Analysis
- "Analysis and testing of Web applications"
Filippo Ricca and Paolo Tonella.
23rd International Conference on Software Engineering (ICSE 2001).
-
James Clause, Wanchun Li, Alessandro Orso.
Dytan: a generic dynamic taint analysis framework
ISSTA 2007.
-
"Automatic Extraction of Framework-Specific Models from Framework-Based Application Code"
Michal Antkiewicz, Thiago Bartolomei, Krzysztof Czarnecki.
Joint meeting of European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2007).
-
"HAMPI: A Solver for String Constraints"
Adam Kiezun, Vijay Ganesh, Philip Guo, Pieter Hooimeijer and Michael Ernst.
International Symposium on Software Testing and Analysis (ISSTA 2009)
-
"Effective Static Deadlock Detection"
Mayur Naik, Chang-Seo Park, Koushik Sen, David Gay.
31st International Conference on Software Engineering (ICSE 2009).
-
"Towards automatically generating summary comments for Java methods"
Giriprasad Sridhara, Emily Hill, Divya Muppaneni, Lori Pollock and K. Vijay-Shanker.
25th IEEE/ACM International Conference on Automated Software Engineering (ASE 2010).
-
Xiaofei Xie, Bihuan Chen, Yang Liu, Wei Le and Xiaohong Li:
Proteus: Computing Disjunctive Loop Summary via Path Dependency Analysis,
Foundations of Software Engineering (FSE 2016)
November 13 - 18, 2016
-
Kihong Heo, Hakjoo Oh and Hongseok Yang:
Resource-aware Program Analysis via Online Abstraction Coarsening,
International Conference on Software Engineering (ICSE 2019)
May 25 - 31, 2019
-
Gang Fan, Rongxin Wu, Qingkai Shi, Xiao Xiao, Jinguo Zhou and Charles Zhang:
SMOKE: Scalable Path-Sensitive Memory Leak Detection for Millions of Lines of Code,
nternational Conference on Software Engineering (ICSE 2019)
May 25 - 31, 2019
-
Ding Li, Shuai Hao, William G.J. Halfond, Ramesh Govindan.
Calculating source line level energy information for Android applications, ISSTA 2013
A Selection of Software Engineering Research Tools